StdDateFormat (Jackson JSON Processor)
Date: 2013-07-14

org.codehaus.jackson.map.util

## Class StdDateFormat

- java.lang.Object
- - java.text.Format
  - - java.text.DateFormat
    - - org.codehaus.jackson.map.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
    Modifier and Type | Field and Description
    --- | ---
    `protected DateFormat` | `_formatISO8601`
    `protected DateFormat` | `_formatISO8601_z`
    `protected DateFormat` | `_formatPlain`
    `protected DateFormat` | `_formatRFC1123`
    `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.
    `static StdDateFormat` | `instance` A singleton instance can be used for cloning purposes.

    - ### 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()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `StdDateFormat` | `clone()`
    `StringBuffer` | `format(Date date, StringBuffer toAppendTo, FieldPosition fieldPosition)`
    `static DateFormat` | `getBlueprintISO8601Format()` Method for getting the globally shared DateFormat instance that uses GMT timezone and can handle simple ISO-8601 compliant date format.
    `static DateFormat` | `getBlueprintRFC1123Format()` Method for getting the globally shared DateFormat instance that uses GMT timezone and can handle RFC-1123 compliant date format.
    `static DateFormat` | `getISO8601Format(TimeZone tz)` 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)` Method for getting a non-shared DateFormat instance that uses specific timezone and can handle RFC-1123 compliant date format.
    `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)`

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

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

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

      `format, formatToCharacterIterator, parseObject`

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

      `finalize, getClass, notify, notifyAll, toString, 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
      Since:
        1.3.1
      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.
      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.

    - #### _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()

  - ### Method Detail

    - #### clone

          public StdDateFormat clone()

      Overrides:
        `clone` in class `DateFormat`

    - #### getBlueprintISO8601Format

          public static DateFormat getBlueprintISO8601Format()

      Method for getting the globally shared DateFormat instance that uses GMT timezone and can handle simple ISO-8601 compliant date format.

    - #### getISO8601Format

          public static DateFormat getISO8601Format(TimeZone tz)

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

    - #### getBlueprintRFC1123Format

          public static DateFormat getBlueprintRFC1123Format()

      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)

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

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

    - #### 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)