/* 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: