public class StdDateFormat
extends java.text.DateFormat
DateFormat
implementation used by standard Date
serializers and deserializers. For serialization defaults to using
an ISO-8601 compliant format (format String "yyyy-MM-dd'T'HH:mm:ss.SSSZ")
and for deserialization, both ISO-8601 and RFC-1123.Modifier and Type | Field and Description |
---|---|
protected java.text.DateFormat |
_formatISO8601 |
protected java.text.DateFormat |
_formatISO8601_z |
protected java.text.DateFormat |
_formatPlain |
protected java.text.DateFormat |
_formatRFC1123 |
protected static java.lang.String[] |
ALL_FORMATS
For error messages we'll also need a list of all formats.
|
protected static java.text.DateFormat |
DATE_FORMAT_ISO8601 |
protected static java.text.DateFormat |
DATE_FORMAT_ISO8601_Z |
protected static java.text.DateFormat |
DATE_FORMAT_PLAIN |
protected static java.text.DateFormat |
DATE_FORMAT_RFC1123 |
protected static java.lang.String |
DATE_FORMAT_STR_ISO8601
Defines a commonly used date format that conforms
to ISO-8601 date formatting standard, when it includes basic undecorated
timezone definition
|
protected static java.lang.String |
DATE_FORMAT_STR_ISO8601_Z
Same as 'regular' 8601, but handles 'Z' as an alias for "+0000"
(or "GMT")
|
protected static java.lang.String |
DATE_FORMAT_STR_PLAIN
ISO-8601 with just the Date part, no time
|
protected static java.lang.String |
DATE_FORMAT_STR_RFC1123
This constant defines the date format specified by
RFC 1123.
|
static StdDateFormat |
instance
A singleton instance can be used for cloning purposes.
|
AM_PM_FIELD, calendar, DATE_FIELD, DAY_OF_WEEK_FIELD, DAY_OF_WEEK_IN_MONTH_FIELD, DAY_OF_YEAR_FIELD, DEFAULT, ERA_FIELD, FULL, HOUR_OF_DAY0_FIELD, HOUR_OF_DAY1_FIELD, HOUR0_FIELD, HOUR1_FIELD, LONG, MEDIUM, MILLISECOND_FIELD, MINUTE_FIELD, MONTH_FIELD, numberFormat, SECOND_FIELD, SHORT, TIMEZONE_FIELD, WEEK_OF_MONTH_FIELD, WEEK_OF_YEAR_FIELD, YEAR_FIELD
Constructor and Description |
---|
StdDateFormat() |
Modifier and Type | Method and Description |
---|---|
StdDateFormat |
clone() |
java.lang.StringBuffer |
format(java.util.Date date,
java.lang.StringBuffer toAppendTo,
java.text.FieldPosition fieldPosition) |
static java.text.DateFormat |
getBlueprintISO8601Format()
Method for getting the globally shared DateFormat instance
that uses GMT timezone and can handle simple ISO-8601
compliant date format.
|
static java.text.DateFormat |
getBlueprintRFC1123Format()
Method for getting the globally shared DateFormat instance
that uses GMT timezone and can handle RFC-1123
compliant date format.
|
static java.text.DateFormat |
getISO8601Format(java.util.TimeZone tz)
Method for getting a non-shared DateFormat instance
that uses specified timezone and can handle simple ISO-8601
compliant date format.
|
static java.text.DateFormat |
getRFC1123Format(java.util.TimeZone tz)
Method for getting a non-shared DateFormat instance
that uses specific timezone and can handle RFC-1123
compliant date format.
|
protected boolean |
looksLikeISO8601(java.lang.String dateStr)
Overridable helper method used to figure out which of supported
formats is the likeliest match.
|
java.util.Date |
parse(java.lang.String dateStr) |
java.util.Date |
parse(java.lang.String dateStr,
java.text.ParsePosition pos) |
protected java.util.Date |
parseAsISO8601(java.lang.String dateStr,
java.text.ParsePosition pos) |
protected java.util.Date |
parseAsRFC1123(java.lang.String dateStr,
java.text.ParsePosition pos) |
equals, format, format, getAvailableLocales, getCalendar, getDateInstance, getDateInstance, getDateInstance, getDateTimeInstance, getDateTimeInstance, getDateTimeInstance, getInstance, getNumberFormat, getTimeInstance, getTimeInstance, getTimeInstance, getTimeZone, hashCode, isLenient, parseObject, setCalendar, setLenient, setNumberFormat, setTimeZone
protected static final java.lang.String DATE_FORMAT_STR_ISO8601
protected static final java.lang.String DATE_FORMAT_STR_ISO8601_Z
protected static final java.lang.String DATE_FORMAT_STR_PLAIN
protected static final java.lang.String DATE_FORMAT_STR_RFC1123
protected static final java.lang.String[] ALL_FORMATS
protected static final java.text.DateFormat DATE_FORMAT_RFC1123
protected static final java.text.DateFormat DATE_FORMAT_ISO8601
protected static final java.text.DateFormat DATE_FORMAT_ISO8601_Z
protected static final java.text.DateFormat DATE_FORMAT_PLAIN
public static final StdDateFormat instance
protected transient java.text.DateFormat _formatRFC1123
protected transient java.text.DateFormat _formatISO8601
protected transient java.text.DateFormat _formatISO8601_z
protected transient java.text.DateFormat _formatPlain
public StdDateFormat clone()
clone
in class java.text.DateFormat
public static java.text.DateFormat getBlueprintISO8601Format()
public static java.text.DateFormat getISO8601Format(java.util.TimeZone tz)
public static java.text.DateFormat getBlueprintRFC1123Format()
public static java.text.DateFormat getRFC1123Format(java.util.TimeZone tz)
public java.util.Date parse(java.lang.String dateStr) throws java.text.ParseException
parse
in class java.text.DateFormat
java.text.ParseException
public java.util.Date parse(java.lang.String dateStr, java.text.ParsePosition pos)
parse
in class java.text.DateFormat
public java.lang.StringBuffer format(java.util.Date date, java.lang.StringBuffer toAppendTo, java.text.FieldPosition fieldPosition)
format
in class java.text.DateFormat
protected boolean looksLikeISO8601(java.lang.String dateStr)
protected java.util.Date parseAsISO8601(java.lang.String dateStr, java.text.ParsePosition pos)
protected java.util.Date parseAsRFC1123(java.lang.String dateStr, java.text.ParsePosition pos)