001    /*
002    * Licensed to the Apache Software Foundation (ASF) under one or more
003    * contributor license agreements.  See the NOTICE file distributed with
004    * this work for additional information regarding copyright ownership.
005    * The ASF licenses this file to You under the Apache License, Version 2.0
006    * (the "License"); you may not use this file except in compliance with
007    * the License.  You may obtain a copy of the License at
008    *
009    *     http://www.apache.org/licenses/LICENSE-2.0
010    *
011    * Unless required by applicable law or agreed to in writing, software
012    * distributed under the License is distributed on an "AS IS" BASIS,
013    * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014    * See the License for the specific language governing permissions and
015    * limitations under the License.
016    */
017    package dates;
018    
019    import java.util.*;
020    
021    public class JspCalendar {
022        Calendar  calendar = null;
023    
024        public JspCalendar() {
025            calendar = Calendar.getInstance();
026            Date trialTime = new Date();
027            calendar.setTime(trialTime);
028        }
029    
030        public int getYear() {
031            return calendar.get(Calendar.YEAR);
032        }
033        
034        public String getMonth() {
035            int m = getMonthInt();
036            String[] months = new String [] { "January", "February", "March",
037                                            "April", "May", "June",
038                                            "July", "August", "September",
039                                            "October", "November", "December" };
040            if (m > 12)
041                return "Unknown to Man";
042            
043            return months[m - 1];
044    
045        }
046    
047        public String getDay() {
048            int x = getDayOfWeek();
049            String[] days = new String[] {"Sunday", "Monday", "Tuesday", "Wednesday", 
050                                          "Thursday", "Friday", "Saturday"};
051    
052            if (x > 7)
053                return "Unknown to Man";
054    
055            return days[x - 1];
056    
057        }
058        
059        public int getMonthInt() {
060            return 1 + calendar.get(Calendar.MONTH);
061        }
062    
063        public String getDate() {
064            return getMonthInt() + "/" + getDayOfMonth() + "/" +  getYear();
065    
066        }
067    
068        public String getTime() {
069            return getHour() + ":" + getMinute() + ":" + getSecond();
070        }
071    
072        public int getDayOfMonth() {
073            return calendar.get(Calendar.DAY_OF_MONTH);
074        }
075    
076        public int getDayOfYear() {
077            return calendar.get(Calendar.DAY_OF_YEAR);
078        }
079    
080        public int getWeekOfYear() {
081            return calendar.get(Calendar.WEEK_OF_YEAR);
082        }
083    
084        public int getWeekOfMonth() {
085            return calendar.get(Calendar.WEEK_OF_MONTH);
086        }
087    
088        public int getDayOfWeek() {
089            return calendar.get(Calendar.DAY_OF_WEEK);
090        }
091         
092        public int getHour() {
093            return calendar.get(Calendar.HOUR_OF_DAY);
094        }
095        
096        public int getMinute() {
097            return calendar.get(Calendar.MINUTE);
098        }
099    
100    
101        public int getSecond() {
102            return calendar.get(Calendar.SECOND);
103        }
104    
105        public static void main(String args[]) {
106            JspCalendar db = new JspCalendar();
107            p("date: " + db.getDayOfMonth());
108            p("year: " + db.getYear());
109            p("month: " + db.getMonth());
110            p("time: " + db.getTime());
111            p("date: " + db.getDate());
112            p("Day: " + db.getDay());
113            p("DayOfYear: " + db.getDayOfYear());
114            p("WeekOfYear: " + db.getWeekOfYear());
115            p("era: " + db.getEra());
116            p("ampm: " + db.getAMPM());
117            p("DST: " + db.getDSTOffset());
118            p("ZONE Offset: " + db.getZoneOffset());
119            p("TIMEZONE: " + db.getUSTimeZone());
120        }
121    
122        private static void p(String x) {
123            System.out.println(x);
124        }
125    
126    
127        public int getEra() {
128            return calendar.get(Calendar.ERA);
129        }
130    
131        public String getUSTimeZone() {
132            String[] zones = new String[] {"Hawaii", "Alaskan", "Pacific",
133                                           "Mountain", "Central", "Eastern"};
134            
135            return zones[10 + getZoneOffset()];
136        }
137    
138        public int getZoneOffset() {
139            return calendar.get(Calendar.ZONE_OFFSET)/(60*60*1000);
140        }
141    
142    
143        public int getDSTOffset() {
144            return calendar.get(Calendar.DST_OFFSET)/(60*60*1000);
145        }
146    
147        
148        public int getAMPM() {
149            return calendar.get(Calendar.AM_PM);
150        }
151    }
152