KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > nutch > net > protocols > HttpDateFormat


1 package net.nutch.net.protocols;
2
3 import java.util.Calendar JavaDoc;
4 import java.util.Date JavaDoc;
5 import java.util.HashMap JavaDoc;
6 import java.util.Locale JavaDoc;
7 import java.util.TimeZone JavaDoc;
8 import java.text.SimpleDateFormat JavaDoc;
9 import java.text.ParseException JavaDoc;
10
11 /**
12  * class to handle HTTP dates.
13  *
14  * Modified from FastHttpDateFormat.java in jakarta-tomcat.
15  *
16  * @author John Xing
17  */

18 public class HttpDateFormat {
19
20   protected static SimpleDateFormat JavaDoc format =
21     new SimpleDateFormat JavaDoc("EEE, dd MMM yyyy HH:mm:ss zzz", Locale.US);
22
23   /**
24    * HTTP date uses TimeZone GMT
25    */

26   static {
27     format.setTimeZone(TimeZone.getTimeZone("GMT"));
28   }
29
30   //HttpDate (long t) {
31
//}
32

33   //HttpDate (String s) {
34
//}
35

36 // /**
37
// * Get the current date in HTTP format.
38
// */
39
// public static String getCurrentDate() {
40
//
41
// long now = System.currentTimeMillis();
42
// if ((now - currentDateGenerated) > 1000) {
43
// synchronized (format) {
44
// if ((now - currentDateGenerated) > 1000) {
45
// currentDateGenerated = now;
46
// currentDate = format.format(new Date(now));
47
// }
48
// }
49
// }
50
// return currentDate;
51
//
52
// }
53

54   /**
55    * Get the HTTP format of the specified date.
56    */

57   public static String JavaDoc toString(Date JavaDoc date) {
58     String JavaDoc string;
59     synchronized (format) {
60       string = format.format(date);
61     }
62     return string;
63   }
64
65   public static String JavaDoc toString(Calendar JavaDoc cal) {
66     String JavaDoc string;
67     synchronized (format) {
68       string = format.format(cal.getTime());
69     }
70     return string;
71   }
72
73   public static String JavaDoc toString(long time) {
74     String JavaDoc string;
75     synchronized (format) {
76       string = format.format(new Date JavaDoc(time));
77     }
78     return string;
79   }
80
81   public static Date JavaDoc toDate(String JavaDoc dateString) throws ParseException JavaDoc {
82     Date JavaDoc date;
83     synchronized (format) {
84       date = format.parse(dateString);
85     }
86     return date;
87   }
88
89   public static long toLong(String JavaDoc dateString) throws ParseException JavaDoc {
90     long time;
91     synchronized (format) {
92       time = format.parse(dateString).getTime();
93     }
94     return time;
95   }
96
97   public static void main(String JavaDoc[] args) throws Exception JavaDoc {
98     HttpDateFormat format = new HttpDateFormat();
99
100     Date JavaDoc now = new Date JavaDoc(System.currentTimeMillis());
101
102     String JavaDoc string = format.toString(now);
103
104     long time = format.toLong(string);
105
106     System.out.println(string);
107     System.out.println(format.toString(time));
108   }
109
110 }
111
Popular Tags