org.springframework.format.annotation

## Annotation Type DateTimeFormat

-     @Target(value={METHOD,FIELD,PARAMETER,ANNOTATION_TYPE})
      @Retention(value=RUNTIME)
      public @interface DateTimeFormat

  Declares that a field should be formatted as a date time.

  Supports formatting by style pattern, ISO date time pattern, or custom format pattern string. Can be applied to `java.util.Date`, `java.util.Calendar`, `java.long.Long`, Joda-Time value types; and as of Spring 4 and JDK 8, to JSR-310 `java.time` types too.

  For style-based formatting, set the `style()` attribute to be the style pattern code. The first character of the code is the date style, and the second character is the time style. Specify a character of 'S' for short style, 'M' for medium, 'L' for long, and 'F' for full. A date or time may be omitted by specifying the style character '-'.

  For ISO-based formatting, set the `iso()` attribute to be the desired `DateTimeFormat.ISO` format, such as `DateTimeFormat.ISO.DATE`. For custom formatting, set the `pattern()` attribute to be the DateTime pattern, such as `yyyy/MM/dd hh:mm:ss a`.

  Each attribute is mutually exclusive, so only set one attribute per annotation instance (the one most convenient one for your formatting needs). When the pattern attribute is specified, it takes precedence over both the style and ISO attribute. When the iso attribute is specified, if takes precedence over the style attribute. When no annotation attributes are specified, the default format applied is style-based with a style code of 'SS' (short date, short time).

  Since:
    3.0
  Author:
    Keith Donald, Juergen Hoeller
  See Also:
    `DateTimeFormat`

- - ### Optional Element Summary

    Optional Elements
    Modifier and Type | Optional Element and Description
    --- | ---
    `DateTimeFormat.ISO` | `iso` The ISO pattern to use to format the field.
    `String` | `pattern` The custom pattern to use to format the field.
    `String` | `style` The style pattern to use to format the field.

- - ### Element Detail

    - #### style

          public abstract String style

      The style pattern to use to format the field.

      Defaults to 'SS' for short date time. Set this attribute when you wish to format your field in accordance with a common style other than the default style.

      Default:
        "SS"

    - #### iso

          public abstract DateTimeFormat.ISO iso

      The ISO pattern to use to format the field. The possible ISO patterns are defined in the `DateTimeFormat.ISO` enum.

      Defaults to `DateTimeFormat.ISO.NONE`, indicating this attribute should be ignored. Set this attribute when you wish to format your field in accordance with an ISO format.

      Default:
        org.springframework.format.annotation.DateTimeFormat.ISO.NONE

    - #### pattern

          public abstract String pattern

      The custom pattern to use to format the field.

      Defaults to empty String, indicating no custom pattern String has been specified. Set this attribute when you wish to format your field in accordance with a custom date time pattern not represented by a style or ISO format.

      Default:
        ""