Parses a date string in one of the supported #DATE_PATTERNS. Received date header values must be in one of the following formats: Sun, 06 Nov 1994 08:49:37 GMT ; RFC 822, updated by RFC 1123 Sunday, 06-Nov-94 08:49:37 GMT ; RFC 850, obsoleted by RFC 1036 Sun Nov 6 08:49:37 1994 ;
(String time)
| 2467 | * a valid date format in any of the supported formats |
| 2468 | */ |
| 2469 | public static Date parseDate(String time) { |
| 2470 | for (String pattern : DATE_PATTERNS) { |
| 2471 | try { |
| 2472 | SimpleDateFormat df = new SimpleDateFormat(pattern, Locale.US); |
| 2473 | df.setLenient(false); |
| 2474 | df.setTimeZone(GMT); |
| 2475 | return df.parse(time); |
| 2476 | } catch (ParseException ignore) {} |
| 2477 | } |
| 2478 | throw new IllegalArgumentException("invalid date format: " + time); |
| 2479 | } |
| 2480 | |
| 2481 | /** |
| 2482 | * Formats the given time value as a string in RFC 1123 format. |