1 /*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements.  See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License.  You may obtain a copy of the License at
8 *
9 *     http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17 package cal;
18 
19 import java.util.Calendar;
20 import java.util.Date;
21 
22 public class JspCalendar {
23     final Calendar  calendar;
24 
JspCalendar()25     public JspCalendar() {
26         calendar = Calendar.getInstance();
27         Date trialTime = new Date();
28         calendar.setTime(trialTime);
29     }
30 
31 
getYear()32     public int getYear() {
33         return calendar.get(Calendar.YEAR);
34     }
35 
getMonth()36     public String getMonth() {
37         int m = getMonthInt();
38         String[] months = new String [] { "January", "February", "March",
39                                         "April", "May", "June",
40                                         "July", "August", "September",
41                                         "October", "November", "December" };
42         if (m > 12) {
43             return "Unknown to Man";
44         }
45 
46         return months[m - 1];
47 
48     }
49 
getDay()50     public String getDay() {
51         int x = getDayOfWeek();
52         String[] days = new String[] {"Sunday", "Monday", "Tuesday", "Wednesday",
53                                       "Thursday", "Friday", "Saturday"};
54 
55         if (x > 7) {
56             return "Unknown to Man";
57         }
58 
59         return days[x - 1];
60 
61     }
62 
getMonthInt()63     public int getMonthInt() {
64         return 1 + calendar.get(Calendar.MONTH);
65     }
66 
getDate()67     public String getDate() {
68         return getMonthInt() + "/" + getDayOfMonth() + "/" +  getYear();
69     }
70 
getCurrentDate()71     public String getCurrentDate() {
72         Date dt = new Date ();
73         calendar.setTime (dt);
74         return getMonthInt() + "/" + getDayOfMonth() + "/" +  getYear();
75 
76     }
77 
getNextDate()78     public String getNextDate() {
79         calendar.set (Calendar.DAY_OF_MONTH, getDayOfMonth() + 1);
80         return getDate ();
81     }
82 
getPrevDate()83     public String getPrevDate() {
84         calendar.set (Calendar.DAY_OF_MONTH, getDayOfMonth() - 1);
85         return getDate ();
86     }
87 
getTime()88     public String getTime() {
89         return getHour() + ":" + getMinute() + ":" + getSecond();
90     }
91 
getDayOfMonth()92     public int getDayOfMonth() {
93         return calendar.get(Calendar.DAY_OF_MONTH);
94     }
95 
getDayOfYear()96     public int getDayOfYear() {
97         return calendar.get(Calendar.DAY_OF_YEAR);
98     }
99 
getWeekOfYear()100     public int getWeekOfYear() {
101         return calendar.get(Calendar.WEEK_OF_YEAR);
102     }
103 
getWeekOfMonth()104     public int getWeekOfMonth() {
105         return calendar.get(Calendar.WEEK_OF_MONTH);
106     }
107 
getDayOfWeek()108     public int getDayOfWeek() {
109         return calendar.get(Calendar.DAY_OF_WEEK);
110     }
111 
getHour()112     public int getHour() {
113         return calendar.get(Calendar.HOUR_OF_DAY);
114     }
115 
getMinute()116     public int getMinute() {
117         return calendar.get(Calendar.MINUTE);
118     }
119 
120 
getSecond()121     public int getSecond() {
122         return calendar.get(Calendar.SECOND);
123     }
124 
125 
getEra()126     public int getEra() {
127         return calendar.get(Calendar.ERA);
128     }
129 
getUSTimeZone()130     public String getUSTimeZone() {
131         String[] zones = new String[] {"Hawaii", "Alaskan", "Pacific",
132                                        "Mountain", "Central", "Eastern"};
133 
134         return zones[10 + getZoneOffset()];
135     }
136 
getZoneOffset()137     public int getZoneOffset() {
138         return calendar.get(Calendar.ZONE_OFFSET)/(60*60*1000);
139     }
140 
141 
getDSTOffset()142     public int getDSTOffset() {
143         return calendar.get(Calendar.DST_OFFSET)/(60*60*1000);
144     }
145 
146 
getAMPM()147     public int getAMPM() {
148         return calendar.get(Calendar.AM_PM);
149     }
150 }
151 
152 
153