/* This is a modification to Sun's JspCalendar bean which makes the dates and times produced through the bean more human-readable (regular times, rather than military times, am-pm written as characters rather than an integer value, added zeros when necessary to the minutes and seconds -- 3:05:09 rather than 3:5:9, added abbreviated months (Jan.,Feb.,etc) and added a simple time-of-day greeting. This Bean is used as part of my header file for my JSP pages, so there are a few methods that help make the pages more dynamic...for instance, some methods change the page title, background color, link color, and text color based on the time of day. Another method changes the links on the sidebar of the JSP page, to provide relevant content based on the time of day. Modifications to this bean were made Jan. 13, 2000 by Erica Andrews (cylikon@hotmail.com)...you are welcome to use this bean anyway you see fit */ package cal; import java.beans.*; import java.text.DateFormat; import java.util.*; public class DateBasedContent { Calendar calendar = null; public DateBasedContent() { calendar = Calendar.getInstance(); Date trialTime = new Date(); calendar.setTime(trialTime); } public int getYear() { return calendar.get(Calendar.YEAR); } public String getMonth() { int m = getMonthInt(); String[] months = new String [] { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" }; if (m > 12) return "Unknown to Man"; return months[m - 1]; } public String getDay() { int x = getDayOfWeek(); String[] days = new String[] {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}; if (x > 7) return "Unknown to Man"; return days[x - 1]; } public int getMonthInt() { return 1 + calendar.get(Calendar.MONTH); } public String getDate() { return getMonthInt() + "/" + getDayOfMonth() + "/" + getYear(); } public String getTime() { return getHour() + ":" + getMinute() + ":" + getSecond(); } public int getDayOfMonth() { return calendar.get(Calendar.DAY_OF_MONTH); } public int getDayOfYear() { return calendar.get(Calendar.DAY_OF_YEAR); } public int getWeekOfYear() { return calendar.get(Calendar.WEEK_OF_YEAR); } public int getWeekOfMonth() { return calendar.get(Calendar.WEEK_OF_MONTH); } public int getDayOfWeek() { return calendar.get(Calendar.DAY_OF_WEEK); } public int getHour() { return calendar.get(Calendar.HOUR_OF_DAY); } public int getMinute() { return calendar.get(Calendar.MINUTE); } public int getSecond() { return calendar.get(Calendar.SECOND); } public static void main(String args[]) { DateBasedContent db = new DateBasedContent(); p("date: " + db.getDayOfMonth()); p("year: " + db.getYear()); p("month: " + db.getMonth()); p("time: " + db.getTime()); p("date: " + db.getDate()); p("Day: " + db.getDay()); p("DayOfYear: " + db.getDayOfYear()); p("WeekOfYear: " + db.getWeekOfYear()); p("era: " + db.getEra()); p("ampm: " + db.getAMPM()); p("DST: " + db.getDSTOffset()); p("ZONE Offset: " + db.getZoneOffset()); p("TIMEZONE: " + db.getUSTimeZone()); } private static void p(String x) { System.out.println(x); } public int getEra() { return calendar.get(Calendar.ERA); } public String getUSTimeZone() { try { String[] zones = new String[] {"Hawaii", "Alaskan", "Pacific", "Mountain", "Central", "Eastern"}; return zones[10 + getZoneOffset()]; } catch(ArrayIndexOutOfBoundsException e) { return "Unknown"; } } public int getZoneOffset() { return calendar.get(Calendar.ZONE_OFFSET)/(60*60*1000); } public int getDSTOffset() { return calendar.get(Calendar.DST_OFFSET)/(60*60*1000); } public int getAMPM() { return calendar.get(Calendar.AM_PM); } /* ---- Beginning of Additions---- */ public String getMONT() { int mons = 1 + calendar.get(Calendar.MONTH); String[] mon = new String [] { "Jan.", "Feb.", "Mar.", "Apr.", "May", "Jun.", "Jul.", "Aug.", "Sept.", "Oct.", "Nov.", "Dec." }; return mon[mons - 1]; } public String getAP() { int NightDay = calendar.get(Calendar.AM_PM); String[] ampm = new String [] { "am", "pm" }; return ampm[NightDay]; } public String getHOURS() { int Hour = calendar.get(Calendar.HOUR_OF_DAY); String[] thehour = new String [] {"12","1","2","3","4","5","6","7","8","9","10","11","12","1","2","3","4","5","6","7","8","9","10","11"}; return thehour[Hour]; } public String getMINUTES() { int minute = calendar.get(Calendar.MINUTE); String zero = "0"; if (minute <= 9) { return (zero)+(minute); } return ""+minute; } public String getSECONDS() { int seconds = calendar.get(Calendar.SECOND); String zero = "0"; if (seconds <= 9) { return (zero)+(seconds) ; } return ""+seconds; } public String getGREETING() { int Hour = calendar.get(Calendar.HOUR_OF_DAY); if (Hour < 12) return "Good Morning!"; if (Hour >= 12 && Hour <= 16) return "Good Afternoon!"; if (Hour >= 17) return "Good Evening!"; return " "; } public String getMyTime() { return getHOURS()+":"+getMINUTES()+" "+getAP(); } public String getTITLE() { int Hour = calendar.get(Calendar.HOUR_OF_DAY); if (Hour < 12) return "CJs IIS4 Server - Rise and Shine"; if (Hour >= 12 && Hour <= 16) return "CJs IIS4 Server - Afternoon"; if (Hour >= 17) return "CJs IIS4 Server - After Dark"; return " "; } public String getBGCOLOR() { int Hour = calendar.get(Calendar.HOUR_OF_DAY); if (Hour < 12) return "33eeff"; if (Hour >= 12 && Hour <= 16) return "eeccff"; if (Hour >= 17) return "8888ff"; return " "; } public String getLINKCOLOR() { int Hour = calendar.get(Calendar.HOUR_OF_DAY); if (Hour < 12) return "555555"; if (Hour >= 12 && Hour <= 16) return "dddddd"; if (Hour >= 17) return "0000aa"; return " "; } public String getTEXTCOLOR() { int Hour = calendar.get(Calendar.HOUR_OF_DAY); if (Hour < 12) return "000000"; if (Hour >= 12 && Hour <= 16) return "000000"; if (Hour >= 17) return "ffffff"; return " "; } public String getSIDEBAR() { int Hour = calendar.get(Calendar.HOUR_OF_DAY); if (Hour < 12) return "Morning Links
News and Weather:
MyCNN.Com
NY Times
CNN
MSNBC

Check Email:
Hotmail
"; if (Hour >= 12 && Hour <= 16) return "Afternoon Links

 Classifieds:
Monster.Com
HotJobs.Com
Silicon Alley
Yahoo Classifieds

Check Email:
Hotmail

News/Weather:
NY Times
"; if (Hour >= 17) return "Evening Links

Programming:
PHP.NET
PHP Addict
PHP Builder
Java Sun
Sun's JDC
EJB Developer's Guide
Builder.Com

Classifieds:
Monster.Com
HotJobs.Com
Silicon Alley
Yahoo Classifieds

 Check Email:
Hotmail"; return " "; } } // ending class DateBasedContent