import java.util.Calendar; import java.util.GregorianCalendar; import java.text.DateFormat; import java.text.SimpleDateFormat; /** a simple demo to check whether a certain date is a Monday or not */ public class DayOfWeekChecker2 { public static void printUsageAndQuit() { System.err.println("Usage: java DayOfWeekChecker mm/dd/yy"); System.exit(1); } public static void main(String [] args) { if (args.length!=1){ printUsageAndQuit(); } String [] split = args[0].split("/"); if (split.length != 3) { printUsageAndQuit(); } int m=0; int d=0; int y=0; try { m=Integer.parseInt(split[0]); d=Integer.parseInt(split[1]); y=Integer.parseInt(split[2]); } catch (NumberFormatException nfe) { printUsageAndQuit(); } System.out.printf("%d/%d/%d\n",m,d,y); Calendar c = Calendar.getInstance(); c.set(java.util.Calendar.YEAR, y); c.set(java.util.Calendar.MONTH, m - 1); // the month designators are off by one c.set(java.util.Calendar.DAY_OF_MONTH, d); int day = c.get(java.util.Calendar.DAY_OF_WEEK); if (day != java.util.Calendar.MONDAY) { throw new IllegalArgumentException("Date should be a Monday"); } System.out.println("day="+day); System.out.println("\n\n\n"); System.out.println("cal="+c); // Print dates of the current week starting on Monday to Friday DateFormat df = new SimpleDateFormat("EEE dd/MM/yyyy"); System.out.println(df.format(c.getTime())); switch(day) { case java.util.Calendar.MONDAY: System.out.println("Monday"); break; case java.util.Calendar.TUESDAY: System.out.println("Tuesday"); break; case java.util.Calendar.WEDNESDAY: System.out.println("Wednesday"); break; case java.util.Calendar.THURSDAY: System.out.println("Thursday"); break; default: System.out.println("Not MTWR. So there"); break; } // end switch } //end main }