1 module hunt.http.codec.http.model.DateParser; 2 3 // import java.text.SimpleDateFormat; 4 // import java.util.Date; 5 // import java.util.Locale; 6 // import java.util.TimeZone; 7 8 /** 9 * ThreadLocal data parsers for HTTP style dates 10 * 11 */ 12 class DateParser { 13 // private static TimeZone __GMT = TimeZone.getTimeZone("GMT"); 14 15 // static this() { 16 // __GMT.setID("GMT"); 17 // } 18 19 __gshared string[] __dateReceiveFmt = [ "EEE, dd MMM yyyy HH:mm:ss zzz", "EEE, dd-MMM-yy HH:mm:ss", 20 "EEE MMM dd HH:mm:ss yyyy", 21 22 "EEE, dd MMM yyyy HH:mm:ss", "EEE dd MMM yyyy HH:mm:ss zzz", "EEE dd MMM yyyy HH:mm:ss", 23 "EEE MMM dd yyyy HH:mm:ss zzz", "EEE MMM dd yyyy HH:mm:ss", "EEE MMM-dd-yyyy HH:mm:ss zzz", 24 "EEE MMM-dd-yyyy HH:mm:ss", "dd MMM yyyy HH:mm:ss zzz", "dd MMM yyyy HH:mm:ss", "dd-MMM-yy HH:mm:ss zzz", 25 "dd-MMM-yy HH:mm:ss", "MMM dd HH:mm:ss yyyy zzz", "MMM dd HH:mm:ss yyyy", "EEE MMM dd HH:mm:ss yyyy zzz", 26 "EEE, MMM dd HH:mm:ss yyyy zzz", "EEE, MMM dd HH:mm:ss yyyy", "EEE, dd-MMM-yy HH:mm:ss zzz", 27 "EEE dd-MMM-yy HH:mm:ss zzz", "EEE dd-MMM-yy HH:mm:ss" ]; 28 29 // static long parseDate(string date) { 30 // return __dateParser.parse(date); 31 // } 32 33 // private static DateParser __dateParser = new DateParser(); 34 35 // SimpleDateFormat[] _dateReceive = new SimpleDateFormat[__dateReceiveFmt.length]; 36 37 // private long parse(string dateVal) { 38 // for (int i = 0; i < _dateReceive.length; i++) { 39 // if (_dateReceive[i] == null) { 40 // _dateReceive[i] = new SimpleDateFormat(__dateReceiveFmt[i], Locale.US); 41 // _dateReceive[i].setTimeZone(__GMT); 42 // } 43 44 // try { 45 // Date date = cast(Date) _dateReceive[i].parseObject(dateVal); 46 // return date.getTime(); 47 // } catch (java.lang.Exception e) { 48 // // log.ignore(e); 49 // } 50 // } 51 52 // if (dateVal.endsWith(" GMT")) { 53 // string val = dateVal.substring(0, dateVal.length() - 4); 54 55 // foreach (SimpleDateFormat element ; _dateReceive) { 56 // try { 57 // Date date = cast(Date) element.parseObject(val); 58 // return date.getTime(); 59 // } catch (java.lang.Exception e) { 60 // // log.ignore(e); 61 // } 62 // } 63 // } 64 // return -1; 65 // } 66 }