1
2
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
13
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 }