public static Date parseRfc822Date(String dateString) { if (StringUtils.isNullOrEmpty(dateString)) { return null; } return DateUtils.parseRFC822Date(dateString); }
@Override public Date unmarshall(StaxUnmarshallerContext unmarshallerContext) throws Exception { String dateString = unmarshallerContext.readText(); if (dateString == null) return null; try { if (TimestampFormat.RFC_822.getFormat().equals(dateFormatType)) { return DateUtils.parseRFC822Date(dateString); } if (TimestampFormat.UNIX_TIMESTAMP.getFormat().equals(dateFormatType)) { return DateUtils.parseServiceSpecificDate(dateString); } return DateUtils.parseISO8601Date(dateString); } catch (Exception e) { log.warn("Unable to parse date '" + dateString + "': " + e.getMessage(), e); return null; } }
} else { serverDateStr = responseDateHeader[0].getValue(); serverDate = DateUtils.parseRFC822Date(serverDateStr);
metadata.setHttpExpiresDate(DateUtils.parseRFC822Date(header.getValue())); } catch (Exception pe) { log.warn("Unable to parse http expiration date: " + header.getValue(), pe);
@Override public Date unmarshall(JsonUnmarshallerContext unmarshallerContext) throws Exception { String dateString = unmarshallerContext.readText(); if (dateString == null) { return null; } try { if (TimestampFormat.RFC_822.getFormat().equals(dateFormatType)) { return DateUtils.parseRFC822Date(dateString); } if (TimestampFormat.UNIX_TIMESTAMP.getFormat().equals(dateFormatType)) { return DateUtils.parseServiceSpecificDate(dateString); } if (TimestampFormat.UNIX_TIMESTAMP_IN_MILLIS.getFormat().equals(dateFormatType)) { return DateUtils.parseUnixTimestampInMillis(dateString); } return DateUtils.parseISO8601Date(dateString); } catch (Exception exception) { // fallback to the original behavior. return DateJsonUnmarshaller.getInstance().unmarshall(unmarshallerContext); } }
/** * Parses a date in RFC-822 format to a Date object. * @param dateString the date in RFC-822 format. * @return instance of Date. */ public static Date parseRfc822Date(String dateString) { return DateUtils.parseRFC822Date(dateString); }
@Override public Date unmarshall(StaxUnmarshallerContext unmarshallerContext) throws Exception { String dateString = unmarshallerContext.readText(); if (dateString == null) return null; try { if (TimestampFormat.RFC_822.getFormat().equals(dateFormatType)) { return DateUtils.parseRFC822Date(dateString); } if (TimestampFormat.UNIX_TIMESTAMP.getFormat().equals(dateFormatType)) { return DateUtils.parseServiceSpecificDate(dateString); } return DateUtils.parseISO8601Date(dateString); } catch (Exception e) { log.warn("Unable to parse date '" + dateString + "': " + e.getMessage(), e); return null; } }
} else { serverDateStr = responseDateHeader[0].getValue(); serverDate = DateUtils.parseRFC822Date(serverDateStr);
int parseClockSkewOffset(HttpResponse response, AmazonServiceException exception) { final Date deviceDate = new Date(); Date serverDate = null; String serverDateStr = null; final String responseDateHeader = response.getHeaders().get("Date"); try { if (responseDateHeader == null || responseDateHeader.isEmpty()) { // SQS doesn't return Date header serverDateStr = getServerDateFromException(exception.getMessage()); serverDate = DateUtils.parseCompressedISO8601Date(serverDateStr); } else { serverDateStr = responseDateHeader; serverDate = DateUtils.parseRFC822Date(serverDateStr); } } catch (final RuntimeException e) { log.warn("Unable to parse clock skew offset from response: " + serverDateStr, e); return 0; } final long diff = deviceDate.getTime() - serverDate.getTime(); return (int) (diff / TIME_MILLISEC); }
} else if (key.equalsIgnoreCase(Headers.EXPIRES)) { try { metadata.setHttpExpiresDate(DateUtils.parseRFC822Date(header.getValue())); } catch (final Exception pe) { log.warn("Unable to parse http expiration date: " + header.getValue(), pe);
@Override public Date unmarshall(JsonUnmarshallerContext unmarshallerContext) throws Exception { String dateString = unmarshallerContext.readText(); if (dateString == null) { return null; } try { if (TimestampFormat.RFC_822.getFormat().equals(dateFormatType)) { return DateUtils.parseRFC822Date(dateString); } if (TimestampFormat.UNIX_TIMESTAMP.getFormat().equals(dateFormatType)) { return DateUtils.parseServiceSpecificDate(dateString); } if (TimestampFormat.UNIX_TIMESTAMP_IN_MILLIS.getFormat().equals(dateFormatType)) { return DateUtils.parseUnixTimestampInMillis(dateString); } return DateUtils.parseISO8601Date(dateString); } catch (Exception exception) { // fallback to the original behavior. return DateJsonUnmarshaller.getInstance().unmarshall(unmarshallerContext); } }
@Ignore("Joda has issue handling format string 'z'") @Test public void testRfc822Date() { Date date = new Date(); String expected = rfc822DateFormat.print(date.getTime()); String actual = DateUtils.formatRFC822Date(date); assertEquals(expected, actual); Date expectedDate = new Date(rfc822DateFormat.parseMillis(expected)); Date actualDate = DateUtils.parseRFC822Date(actual); assertEquals(expectedDate, actualDate); }
@Test public void tt0031561767() throws ParseException { String input = "Fri, 16 May 2014 23:56:46 GMT"; Date date = DateUtils.parseRFC822Date(input); assertEquals(input, DateUtils.formatRFC822Date(date)); }
/** * Parses a date in RFC-822 format to a Date object. * @param dateString the date in RFC-822 format. * @return instance of Date. */ public static Date parseRfc822Date(String dateString) { return DateUtils.parseRFC822Date(dateString); }
public static Date parseRfc822Date(String dateString) { if (StringUtils.isNullOrEmpty(dateString)) { return null; } return DateUtils.parseRFC822Date(dateString); }
int parseClockSkewOffset(HttpResponse response, AmazonServiceException exception) { final Date deviceDate = new Date(); Date serverDate = null; String serverDateStr = null; final String responseDateHeader = response.getHeaders().get("Date"); try { if (responseDateHeader == null || responseDateHeader.isEmpty()) { // SQS doesn't return Date header serverDateStr = getServerDateFromException(exception.getMessage()); serverDate = DateUtils.parseCompressedISO8601Date(serverDateStr); } else { serverDateStr = responseDateHeader; serverDate = DateUtils.parseRFC822Date(serverDateStr); } } catch (final RuntimeException e) { log.warn("Unable to parse clock skew offset from response: " + serverDateStr, e); return 0; } final long diff = deviceDate.getTime() - serverDate.getTime(); return (int) (diff / TIME_MILLISEC); }
int parseClockSkewOffset(HttpResponse response, AmazonServiceException exception) { final Date deviceDate = new Date(); Date serverDate = null; String serverDateStr = null; final String responseDateHeader = response.getHeaders().get("Date"); try { if (responseDateHeader == null || responseDateHeader.isEmpty()) { // SQS doesn't return Date header serverDateStr = getServerDateFromException(exception.getMessage()); serverDate = DateUtils.parseCompressedISO8601Date(serverDateStr); } else { serverDateStr = responseDateHeader; serverDate = DateUtils.parseRFC822Date(serverDateStr); } } catch (final RuntimeException e) { log.warn("Unable to parse clock skew offset from response: " + serverDateStr, e); return 0; } final long diff = deviceDate.getTime() - serverDate.getTime(); return (int) (diff / TIME_MILLISEC); }
} else { serverDateStr = responseDateHeader[0].getValue(); serverDate = DateUtils.parseRFC822Date(serverDateStr);
metadata.setHttpExpiresDate(DateUtils.parseRFC822Date(header.getValue())); } catch (Exception pe) { log.warn("Unable to parse http expiration date: " + header.getValue(), pe);
} else if (key.equalsIgnoreCase(Headers.EXPIRES)) { try { metadata.setHttpExpiresDate(DateUtils.parseRFC822Date(header.getValue())); } catch (final Exception pe) { log.warn("Unable to parse http expiration date: " + header.getValue(), pe);