Would you like to make this site your homepage? It's fast and easy...
Yes, Please make this my home page!
Date Projections
Date Projections
Ever wanted to know
the date from given criteria, e.g the 1st Sunday in December 2003.
Try it here (this sample is an applet)
If you have difficulty loading the applet, click the links to vb
or vbscript, to try the scripting version.
Click to see versions in
vb
vbscript
java/applet
Java Code
This code uses swing, and uses combo boxes instead of list boxes (easier to
load the items as an array)
Screenshot
import javax.swing.*;
import
java.awt.*;
import java.awt.event.*;
import java.util.Calendar;
import
java.text.SimpleDateFormat;
public class DateProjections extends JFrame
implements ActionListener
{
private static String weeks[] =
{"1st","2nd","3rd","4th","Last"};
private static String days[] =
{"Sunday","Monday","Tuesday",
"Wednesday","Thursday","Friday","Saturday"};
private static String
months[] = {"January","February","March","April",
"May","June","July","August","September","October","November","December"};
private static String years[] =
{"2000","2001","2002","2003","2004",
"2005","2006","2007","2008","2009","2010"};
private static JComboBox
cboWeek = new JComboBox(weeks);
private static JComboBox cboDay = new
JComboBox(days);
private static JComboBox cboMonth = new
JComboBox(months);
private static JComboBox cboYear = new
JComboBox(years);
private static JLabel selection = new
JLabel("Projected date is: 00-00-0000");
private static
JButton btnGo = new JButton("Project Date");
Calendar cal =
Calendar.getInstance();
SimpleDateFormat sdf = new
SimpleDateFormat("dd MMM yyyy");
public DateProjections()
{
super("Date Projections");
setSize(500,300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
Container frame =
getContentPane();
frame.setLayout(new
BorderLayout());
JPanel upper = new JPanel(new
FlowLayout());
btnGo.addActionListener(this);
upper.add(cboWeek);
upper.add(cboDay);
upper.add(cboMonth);
upper.add(cboYear);
JPanel lower = new
JPanel();
lower.setPreferredSize(new
Dimension(300,40));
lower.add(btnGo);
lower.add(selection);
frame.add(upper,BorderLayout.NORTH);
frame.add(lower,BorderLayout.SOUTH);
pack();
setContentPane(frame);
}
public void actionPerformed(ActionEvent
ae)
{
int wk = 1 +
cboWeek.getSelectedIndex();
int dy = 1 +
cboDay.getSelectedIndex();
int mth =
cboMonth.getSelectedIndex();
int yr = 2000 +
cboYear.getSelectedIndex();
if(wk==0 || dy==0 || mth==-1 ||
yr==1999)
{
selection.setText("details missing");
}
else
{
if(wk ==
5)
{
mth++;
wk =
0;
}
cal.set(yr,mth,1);
if(cal.get(cal.DAY_OF_WEEK)
<= dy) wk--;
cal.add(cal.DATE,-(cal.get(cal.DAY_OF_WEEK)-dy)+(7*wk));
selection.setText("Projected date is: " +
sdf.format(cal.getTime()));
}
}
public static void main(String
args[])
{
DateProjections dp = new
DateProjections();
}
}
back
top
main page
vb snippets page
java snippets page
vbscript snippets page
email
Page last modified