com.fasterxml.jackson.databind.util

## Class ISO8601Utils

- java.lang.Object
- - com.fasterxml.jackson.databind.util.ISO8601Utils

-     public class ISO8601Utils
      extends java.lang.Object

  Utilities methods for manipulating dates in iso8601 format. This is much much faster and GC friendly than using SimpleDateFormat so highly suitable if you (un)serialize lots of date objects. Supported parse format: [yyyy-MM-dd|yyyyMMdd][T(hh:mm[:ss[.sss]]|hhmm[ss[.sss]])]?[Z|[+-]hh[:]mm]]
  See Also:
    this specification

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ISO8601Utils()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static java.lang.String` | `format(java.util.Date date)` Format a date into 'yyyy-MM-ddThh:mm:ssZ' (default timezone, no milliseconds precision)
    `static java.lang.String` | `format(java.util.Date date, boolean millis)` Format a date into 'yyyy-MM-ddThh:mm:ss[.sss]Z' (GMT timezone)
    `static java.lang.String` | `format(java.util.Date date, boolean millis, java.util.TimeZone tz)` Format date into yyyy-MM-ddThh:mm:ss[.sss][Z|[+-]hh:mm]
    `static java.util.Date` | `parse(java.lang.String date, java.text.ParsePosition pos)` Parse a date from ISO-8601 formatted string.
    `static java.util.TimeZone` | `timeZoneGMT()` Deprecated. since 2.6

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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ISO8601Utils

          public ISO8601Utils()

  - ### Method Detail

    - #### timeZoneGMT

          @Deprecated
          public static java.util.TimeZone timeZoneGMT()

      Deprecated. since 2.6
      Accessor for static GMT timezone instance.

    - #### format

          public static java.lang.String format(java.util.Date date)

      Format a date into 'yyyy-MM-ddThh:mm:ssZ' (default timezone, no milliseconds precision)
      Parameters:
        `date` - the date to format
      Returns:
        the date formatted as 'yyyy-MM-ddThh:mm:ssZ'

    - #### format

          public static java.lang.String format(java.util.Date date,
                                boolean millis)

      Format a date into 'yyyy-MM-ddThh:mm:ss[.sss]Z' (GMT timezone)
      Parameters:
        `date` - the date to format
        `millis` - true to include millis precision otherwise false
      Returns:
        the date formatted as 'yyyy-MM-ddThh:mm:ss[.sss]Z'

    - #### format

          public static java.lang.String format(java.util.Date date,
                                boolean millis,
                                java.util.TimeZone tz)

      Format date into yyyy-MM-ddThh:mm:ss[.sss][Z|[+-]hh:mm]
      Parameters:
        `date` - the date to format
        `millis` - true to include millis precision otherwise false
        `tz` - timezone to use for the formatting (UTC will produce 'Z')
      Returns:
        the date formatted as yyyy-MM-ddThh:mm:ss[.sss][Z|[+-]hh:mm]

    - #### parse

          public static java.util.Date parse(java.lang.String date,
                             java.text.ParsePosition pos)
                                      throws java.text.ParseException

      Parse a date from ISO-8601 formatted string. It expects a format [yyyy-MM-dd|yyyyMMdd][T(hh:mm[:ss[.sss]]|hhmm[ss[.sss]])]?[Z|[+-]hh:mm]]
      Parameters:
        `date` - ISO string to parse in the appropriate format.
        `pos` - The position to start parsing from, updated to where parsing stopped.
      Returns:
        the parsed date
      Throws:
        `java.text.ParseException` - if the date is not in the appropriate format