com.fasterxml.jackson.databind.util

## Class StdDateFormat

- java.lang.Object
- - java.text.Format
  - - java.text.DateFormat
    - - com.fasterxml.jackson.databind.util.StdDateFormat

All Implemented Interfaces:
  Serializable, Cloneable

    public class StdDateFormat
    extends DateFormat

Default `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.

See Also:
  Serialized Form

### Nested Class Summary

### Nested classes/interfaces inherited from class java.text.DateFormat

`DateFormat.Field`

### Field Summary

Fields
`protected DateFormat` `_formatISO8601`
`protected DateFormat` `_formatISO8601_z`
`protected DateFormat` `_formatPlain`
`protected DateFormat` `_formatRFC1123`
`protected Locale` `_locale`
`protected TimeZone` `_timezone` Caller may want to explicitly override timezone to use; if so, we will have non-null value here.
`protected static String[]` `ALL_FORMATS` For error messages we'll also need a list of all formats.
`protected static DateFormat` `DATE_FORMAT_ISO8601`
`protected static DateFormat` `DATE_FORMAT_ISO8601_Z`
`protected static DateFormat` `DATE_FORMAT_PLAIN`
`protected static DateFormat` `DATE_FORMAT_RFC1123`
`protected static 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 String` `DATE_FORMAT_STR_ISO8601_Z` Same as 'regular' 8601, but handles 'Z' as an alias for "+0000" (or "GMT")
`protected static String` `DATE_FORMAT_STR_PLAIN` ISO-8601 with just the Date part, no time
`protected static String` `DATE_FORMAT_STR_RFC1123` This constant defines the date format specified by RFC 1123 / RFC 822.
`static StdDateFormat` `instance` A singleton instance can be used for cloning purposes, as a blueprint of sorts.

### Fields inherited from class java.text.DateFormat

`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 Summary

Constructors
Constructor and Description
`StdDateFormat()`
`StdDateFormat(TimeZone tz)` Deprecated. Since 2.4, use variant that also takes Locale
`StdDateFormat(TimeZone tz, Locale loc)`

### Method Summary

Methods
`StdDateFormat` `clone()`
`StringBuffer` `format(Date date, StringBuffer toAppendTo, FieldPosition fieldPosition)`
`static DateFormat` `getBlueprintISO8601Format()` Deprecated. Since 2.4 not to be used.
`static DateFormat` `getBlueprintRFC1123Format()` Deprecated. Since 2.4 not to be used.
`static TimeZone` `getDefaultTimeZone()`
`static DateFormat` `getISO8601Format(TimeZone tz)` Deprecated. Since 2.4; use variant that takes Locale
`static DateFormat` `getISO8601Format(TimeZone tz, Locale loc)` Method for getting a non-shared DateFormat instance that uses specified timezone and can handle simple ISO-8601 compliant date format.
`static DateFormat` `getRFC1123Format(TimeZone tz)` Deprecated. Since 2.4; use variant that takes Locale
`static DateFormat` `getRFC1123Format(TimeZone tz, Locale loc)` Method for getting a non-shared DateFormat instance that uses specific timezone and can handle RFC-1123 compliant date format.
`TimeZone` `getTimeZone()`
`protected boolean` `looksLikeISO8601(String dateStr)` Overridable helper method used to figure out which of supported formats is the likeliest match.
`Date` `parse(String dateStr)`
`Date` `parse(String dateStr, ParsePosition pos)`
`protected Date` `parseAsISO8601(String dateStr, ParsePosition pos)`
`protected Date` `parseAsRFC1123(String dateStr, ParsePosition pos)`
`void` `setTimeZone(TimeZone tz)`
`String` `toString()`
`StdDateFormat` `withLocale(Locale loc)`
`StdDateFormat` `withTimeZone(TimeZone tz)` Method used for creating a new instance with specified timezone; if no timezone specified, defaults to the default timezone (UTC).

### Methods inherited from class java.text.DateFormat

`equals, format, format, getAvailableLocales, getCalendar, getDateInstance, getDateInstance, getDateInstance, getDateTimeInstance, getDateTimeInstance, getDateTimeInstance, getInstance, getNumberFormat, getTimeInstance, getTimeInstance, getTimeInstance, hashCode, isLenient, parseObject, setCalendar, setLenient, setNumberFormat`

### Methods inherited from class java.text.Format

`format, formatToCharacterIterator, parseObject`

### Methods inherited from class java.lang.Object

`finalize, getClass, notify, notifyAll, wait, wait, wait`

### Field Detail

#### DATE_FORMAT_STR_ISO8601

    protected static final 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

See Also:
  Constant Field Values

#### DATE_FORMAT_STR_ISO8601_Z

    protected static final String DATE_FORMAT_STR_ISO8601_Z

Same as 'regular' 8601, but handles 'Z' as an alias for "+0000" (or "GMT")

See Also:
  Constant Field Values

#### DATE_FORMAT_STR_PLAIN

    protected static final String DATE_FORMAT_STR_PLAIN

ISO-8601 with just the Date part, no time

See Also:
  Constant Field Values

#### DATE_FORMAT_STR_RFC1123

    protected static final String DATE_FORMAT_STR_RFC1123

This constant defines the date format specified by RFC 1123 / RFC 822.

See Also:
  Constant Field Values

#### ALL_FORMATS

    protected static final String[] ALL_FORMATS

For error messages we'll also need a list of all formats.

#### DATE_FORMAT_RFC1123

    protected static final DateFormat DATE_FORMAT_RFC1123

#### DATE_FORMAT_ISO8601

    protected static final DateFormat DATE_FORMAT_ISO8601

#### DATE_FORMAT_ISO8601_Z

    protected static final DateFormat DATE_FORMAT_ISO8601_Z

#### DATE_FORMAT_PLAIN

    protected static final DateFormat DATE_FORMAT_PLAIN

#### instance

    public static final StdDateFormat instance

A singleton instance can be used for cloning purposes, as a blueprint of sorts.

#### _timezone

    protected transient TimeZone _timezone

Caller may want to explicitly override timezone to use; if so, we will have non-null value here.

#### _locale

    protected final Locale _locale

#### _formatRFC1123

    protected transient DateFormat _formatRFC1123

#### _formatISO8601

    protected transient DateFormat _formatISO8601

#### _formatISO8601_z

    protected transient DateFormat _formatISO8601_z

#### _formatPlain

    protected transient DateFormat _formatPlain

### Constructor Detail

#### StdDateFormat

    public StdDateFormat()

#### StdDateFormat

    @Deprecated
    public StdDateFormat(TimeZone tz)

Deprecated. Since 2.4, use variant that also takes Locale

#### StdDateFormat

    public StdDateFormat(TimeZone tz,
                 Locale loc)

### Method Detail

#### getDefaultTimeZone

    public static TimeZone getDefaultTimeZone()

#### withTimeZone

    public StdDateFormat withTimeZone(TimeZone tz)

Method used for creating a new instance with specified timezone; if no timezone specified, defaults to the default timezone (UTC).

#### withLocale

    public StdDateFormat withLocale(Locale loc)

#### clone

    public StdDateFormat clone()

Overrides:
  `clone` in class `DateFormat`

#### getBlueprintISO8601Format

    @Deprecated
    public static DateFormat getBlueprintISO8601Format()

Deprecated. Since 2.4 not to be used.
Method for getting the globally shared DateFormat instance that uses GMT timezone and can handle simple ISO-8601 compliant date format.

#### getISO8601Format

    @Deprecated
    public static DateFormat getISO8601Format(TimeZone tz)

Deprecated. Since 2.4; use variant that takes Locale

#### getISO8601Format

    public static DateFormat getISO8601Format(TimeZone tz,
                              Locale loc)

Method for getting a non-shared DateFormat instance that uses specified timezone and can handle simple ISO-8601 compliant date format.

Since:
  2.4

#### getBlueprintRFC1123Format

    @Deprecated
    public static DateFormat getBlueprintRFC1123Format()

Deprecated. Since 2.4 not to be used.
Method for getting the globally shared DateFormat instance that uses GMT timezone and can handle RFC-1123 compliant date format.

#### getRFC1123Format

    public static DateFormat getRFC1123Format(TimeZone tz,
                              Locale loc)

Method for getting a non-shared DateFormat instance that uses specific timezone and can handle RFC-1123 compliant date format.

Since:
  2.4

#### getRFC1123Format

    @Deprecated
    public static DateFormat getRFC1123Format(TimeZone tz)

Deprecated. Since 2.4; use variant that takes Locale

#### getTimeZone

    public TimeZone getTimeZone()

Overrides:
  `getTimeZone` in class `DateFormat`

#### setTimeZone

    public void setTimeZone(TimeZone tz)

Overrides:
  `setTimeZone` in class `DateFormat`

#### parse

    public Date parse(String dateStr)
               throws ParseException

Overrides:
  `parse` in class `DateFormat`
Throws:
  `ParseException`

#### parse

    public Date parse(String dateStr,
             ParsePosition pos)

Specified by:
  `parse` in class `DateFormat`

#### format

    public StringBuffer format(Date date,
                      StringBuffer toAppendTo,
                      FieldPosition fieldPosition)

Specified by:
  `format` in class `DateFormat`

#### toString

    public String toString()

Overrides:
  `toString` in class `Object`

#### looksLikeISO8601

    protected boolean looksLikeISO8601(String dateStr)

Overridable helper method used to figure out which of supported formats is the likeliest match.

#### parseAsISO8601

    protected Date parseAsISO8601(String dateStr,
                      ParsePosition pos)

#### parseAsRFC1123

    protected Date parseAsRFC1123(String dateStr,
                      ParsePosition pos)