# Class DateFormat

java.lang.Object
com.codename1.l10n.Format
com.codename1.l10n.DateFormat

All Implemented Interfaces:
  `Cloneable`

Direct Known Subclasses:
  `SimpleDateFormat`

public class DateFormat extends Format
A class for parsing and formatting localisation sensitive dates, compatible with Jave 6 SDK. This implementation uses the Codename One localization manager for handling formatting dates. Parsing dates is not implemented in this class since the localization pattern is not exposed.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final int`
  `DEFAULT`
  Constant for default style (MEDIUM) parsing/formatting pattern.
  `static final int`
  `FULL`
  Constant for full style parsing/formatting pattern.
  `static final int`
  `LONG`
  Constant for long style parsing/formatting pattern.
  `static final int`
  `MEDIUM`
  Constant for medium style parsing/formatting pattern.
  `static final int`
  `SHORT`
  Constant for short style parsing/formatting pattern.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Object`
  `clone()`
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `String`
  `format(Object obj)`
  Format a given object.
  `String`
  `format(Date source)`
  Format a given date.
  `static final DateFormat`
  `getDateInstance()`
  Get a DateFormat instance with default style for date (SHORT).
  `static final DateFormat`
  `getDateInstance(int style)`
  Get a DateFormat instance that uses a given style for dates.
  `static final DateFormat`
  `getDateTimeInstance(int dateStyle, int timeStyle)`
  Get a DateFormat instance that uses a given style for dates and times.
  `static final DateFormat`
  `getInstance()`
  Get a DateFormat instance with default style for date/time (SHORT/SHORT).
  `static final DateFormat`
  `getTimeInstance()`
  Get a DateFormat instance with default style for time (SHORT).
  `static final DateFormat`
  `getTimeInstance(int style)`
  Get a DateFormat instance that uses a given style for times.
  `int`
  `hashCode()`
  Returns a hash code value for the object.
  `Date`
  `parse(String source)`
  NOT IMPLEMENTED - use SimpleDateFormat for parsing instead.
  `Object`
  `parseObject(String source)`
  NOT IMPLEMENTED - use SimpleDateFormat for parsing instead.

  ### Methods inherited from class Object

  `getClass, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### FULL

    public static final int FULL
    Constant for full style parsing/formatting pattern.
    See Also:
      - Constant Field Values

  - ### LONG

    public static final int LONG
    Constant for long style parsing/formatting pattern.
    See Also:
      - Constant Field Values

  - ### MEDIUM

    public static final int MEDIUM
    Constant for medium style parsing/formatting pattern.
    See Also:
      - Constant Field Values

  - ### SHORT

    public static final int SHORT
    Constant for short style parsing/formatting pattern.
    See Also:
      - Constant Field Values

  - ### DEFAULT

    public static final int DEFAULT
    Constant for default style (MEDIUM) parsing/formatting pattern.
    See Also:
      - Constant Field Values

- ## Method Details

  - ### getInstance

    public static final DateFormat getInstance()

    Get a DateFormat instance with default style for date/time (SHORT/SHORT).

    ###### Returns

    a DateFormat instance.

  - ### getDateInstance

    public static final DateFormat getDateInstance()

    Get a DateFormat instance with default style for date (SHORT).

    ###### Returns

    a DateFormat instance.

  - ### getTimeInstance

    public static final DateFormat getTimeInstance()

    Get a DateFormat instance with default style for time (SHORT).

    ###### Returns

    a DateFormat instance.

  - ### getDateInstance

    public static final DateFormat getDateInstance(int style)

    Get a DateFormat instance that uses a given style for dates.

    ###### Parameters

    - `style`: style to use for parsing and formatting (SHORT, MEDIUM, LONG, FULL, DEFAULT);

    ###### Returns

    a DateFormat instance.

    ###### See also

    - #SHORT

    - #MEDIUM

    - #LONG

    - #FULL

    - #DEFAULT

  - ### getTimeInstance

    public static final DateFormat getTimeInstance(int style)

    Get a DateFormat instance that uses a given style for times.

    ###### Parameters

    - `style`: style to use for parsing and formatting (SHORT, MEDIUM, LONG, FULL, DEFAULT);

    ###### Returns

    a DateFormat instance.

    ###### See also

    - #SHORT

    - #MEDIUM

    - #LONG

    - #FULL

    - #DEFAULT

  - ### getDateTimeInstance

    public static final DateFormat getDateTimeInstance(int dateStyle, int timeStyle)

    Get a DateFormat instance that uses a given style for dates and times.

    ###### Parameters

    - `style`: style to use for parsing and formatting (SHORT, MEDIUM, LONG, FULL, DEFAULT);

    ###### Returns

    a DateFormat instance.

    ###### See also

    - #SHORT

    - #MEDIUM

    - #LONG

    - #FULL

    - #DEFAULT

  - ### format

    public String format(Object obj) throws IllegalArgumentException

    Format a given object.

    ###### Parameters

    - `obj`: object to be formatted.

    ###### Returns

    formatted object.

    ###### Throws

    - `IllegalArgumentException`: of the source can not be formatted.
    Specified by:
      `format` in class `Format`
    Throws:
      `IllegalArgumentException`

  - ### format

    public String format(Date source)

    Format a given date.

    ###### Parameters

    - `source`: date to be formatted.

    ###### Returns

    formatted date.

  - ### parseObject

    public Object parseObject(String source) throws ParseException
    NOT IMPLEMENTED - use SimpleDateFormat for parsing instead.
    Specified by:
      `parseObject` in class `Format`
    Throws:
      `ParseException`

  - ### parse

    public Date parse(String source) throws ParseException
    NOT IMPLEMENTED - use SimpleDateFormat for parsing instead.
    Throws:
      `ParseException`

  - ### hashCode

    public int hashCode()
    Description copied from class: `Object`
    Returns a hash code value for the object. This method is supported for the benefit of hashtables such as those provided by java.util.Hashtable. The general contract of hashCode is: Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application. If two objects are equal according to the equals(Object) method, then calling the hashCode method on each of the two objects must produce the same integer result. It is not required that if two objects are unequal according to the equals(java.lang.Object) method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hashtables. As much as is reasonably practical, the hashCode method defined by class Object does return distinct integers for distinct objects. (This is typically implemented by converting the internal address of the object into an integer, but this implementation technique is not required by the JavaTM programming language.)
    Overrides:
      `hashCode` in class `Object`

  - ### equals

    public boolean equals(Object obj)
    Description copied from class: `Object`
    Indicates whether some other object is "equal to" this one. The equals method implements an equivalence relation: It is reflexive: for any reference value x, x.equals(x) should return true. It is symmetric: for any reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true. It is transitive: for any reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true. It is consistent: for any reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the object is modified. For any non-null reference value x, x.equals(null) should return false. The equals method for class Object implements the most discriminating possible equivalence relation on objects; that is, for any reference values x and y, this method returns true if and only if x and y refer to the same object (x==y has the value true).
    Overrides:
      `equals` in class `Object`

  - ### clone

    public Object clone()
    Overrides:
      `clone` in class `Object`