@ThreadSafe public class DateUtils extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected static org.joda.time.format.DateTimeFormatter |
alternateIso8601DateFormat
Alternate ISO 8601 format without fractional seconds
|
private static int |
AWS_DATE_MILLI_SECOND_PRECISION |
protected static org.joda.time.format.DateTimeFormatter |
compressedIso8601DateFormat
This is another ISO 8601 format that's used in clock skew error response
|
private static org.joda.time.DateTimeZone |
GMT |
protected static org.joda.time.format.DateTimeFormatter |
iso8601DateFormat
ISO 8601 format
|
private static long |
MILLI_SECONDS_OF_365_DAYS |
protected static org.joda.time.format.DateTimeFormatter |
rfc822DateFormat
RFC 822 format
|
Constructor and Description |
---|
DateUtils() |
Modifier and Type | Method and Description |
---|---|
static java.util.Date |
cloneDate(java.util.Date date) |
(package private) static java.util.Date |
doParseISO8601Date(java.lang.String dateStringOrig) |
static java.lang.String |
formatISO8601Date(java.util.Date date)
Formats the specified date as an ISO 8601 string.
|
static java.lang.String |
formatISO8601Date(org.joda.time.DateTime date)
Formats the specified date as an ISO 8601 string.
|
static java.lang.String |
formatRFC822Date(java.util.Date date)
Formats the specified date as an RFC 822 string.
|
static java.lang.String |
formatServiceSpecificDate(java.util.Date date)
Formats the give date object into an AWS Service format.
|
private static <E extends java.lang.RuntimeException> |
handleException(E ex)
Returns the original runtime exception iff the joda-time being used
at runtime behaves as expected.
|
static long |
numberOfDaysSinceEpoch(long milliSinceEpoch)
Returns the number of days since epoch with respect to the given number
of milliseconds since epoch.
|
static java.util.Date |
parseCompressedISO8601Date(java.lang.String dateString)
Parses the specified date string as a compressedIso8601DateFormat ("yyyyMMdd'T'HHmmss'Z'") and returns the Date
object.
|
static java.util.Date |
parseISO8601Date(java.lang.String dateString)
Parses the specified date string as an ISO 8601 date and returns the Date
object.
|
static java.util.Date |
parseRFC822Date(java.lang.String dateString)
Parses the specified date string as an RFC 822 date and returns the Date
object.
|
static java.util.Date |
parseServiceSpecificDate(java.lang.String dateString)
Parses the given date string returned by the AWS service into a Date
object.
|
private static java.lang.String |
tempDateStringForJodaTime(java.lang.String dateString)
Returns a date string with the prefix temporarily substituted, if
applicable, so that JodaTime can handle it.
|
private static final org.joda.time.DateTimeZone GMT
private static final long MILLI_SECONDS_OF_365_DAYS
private static final int AWS_DATE_MILLI_SECOND_PRECISION
protected static final org.joda.time.format.DateTimeFormatter iso8601DateFormat
protected static final org.joda.time.format.DateTimeFormatter alternateIso8601DateFormat
protected static final org.joda.time.format.DateTimeFormatter rfc822DateFormat
protected static final org.joda.time.format.DateTimeFormatter compressedIso8601DateFormat
public static java.util.Date parseISO8601Date(java.lang.String dateString)
dateString
- The date string to parse.static java.util.Date doParseISO8601Date(java.lang.String dateStringOrig)
private static java.lang.String tempDateStringForJodaTime(java.lang.String dateString)
See https://github.com/aws/aws-sdk-java/issues/233
private static <E extends java.lang.RuntimeException> E handleException(E ex)
java.lang.IllegalStateException
- if the joda-time being used at runtime
doens't appear to be of the right version.public static java.lang.String formatISO8601Date(java.util.Date date)
date
- The date to format.public static java.lang.String formatISO8601Date(org.joda.time.DateTime date)
date
- the date to formatpublic static java.util.Date parseRFC822Date(java.lang.String dateString)
dateString
- The date string to parse.public static java.lang.String formatRFC822Date(java.util.Date date)
date
- The date to format.public static java.util.Date parseCompressedISO8601Date(java.lang.String dateString)
dateString
- The date string to parse.public static java.util.Date parseServiceSpecificDate(java.lang.String dateString)
public static java.lang.String formatServiceSpecificDate(java.util.Date date)
public static java.util.Date cloneDate(java.util.Date date)
public static long numberOfDaysSinceEpoch(long milliSinceEpoch)