View Javadoc

1   /*
2    * $Id: DateTools.java,v 1.1 2008/12/09 16:34:39 oeuillot Exp $
3    */
4   package org.rcfaces.core.util;
5   
6   import java.util.Calendar;
7   import java.util.Date;
8   import java.util.TimeZone;
9   
10  /**
11   * 
12   * @author Olivier Oeuillot (latest modification by $Author: oeuillot $)
13   * @version $Revision: 1.1 $ $Date: 2008/12/09 16:34:39 $
14   */
15  public class DateTools {
16      private static final Calendar dateCalendar = Calendar.getInstance(TimeZone
17              .getTimeZone("GMT"));
18  
19      private static final Calendar timeCalendar = (Calendar) dateCalendar
20              .clone();
21  
22      public static Date normalizeDate(Date d) {
23          synchronized (dateCalendar) {
24              dateCalendar.setTime(d);
25  
26              int millisecond = dateCalendar.get(Calendar.MILLISECOND);
27              int second = dateCalendar.get(Calendar.SECOND);
28              int minute = dateCalendar.get(Calendar.MINUTE);
29              int hour = dateCalendar.get(Calendar.HOUR_OF_DAY);
30  
31              if (millisecond == 0 && second == 0 && minute == 0 && hour == 0) {
32                  return d;
33              }
34  
35              if (millisecond != 0) {
36                  dateCalendar.set(Calendar.MILLISECOND, 0);
37              }
38              if (second != 0) {
39                  dateCalendar.set(Calendar.SECOND, 0);
40              }
41              if (minute != 0) {
42                  dateCalendar.set(Calendar.MINUTE, 0);
43              }
44              if (hour != 0) {
45                  dateCalendar.set(Calendar.HOUR_OF_DAY, 0);
46              }
47  
48              return dateCalendar.getTime();
49          }
50      }
51  
52      public static Date normalizeTime(Date d) {
53          synchronized (timeCalendar) {
54              timeCalendar.setTime(d);
55  
56              timeCalendar.set(2000, 0, 1);
57  
58              return timeCalendar.getTime();
59          }
60      }
61  }