Package org.sqlite.date

## Class DateFormatUtils

- java.lang.Object
- - org.sqlite.date.DateFormatUtils

    public class DateFormatUtils
    extends Object

Date and time formatting utilities and constants.

Formatting is performed using the thread-safe org.apache.commons.lang3.time.FastDateFormat class.

Note that the JDK has a bug wherein calling Calendar.get(int) will override any previously called Calendar.clear() calls. See LANG-755.

Since:
  2.0
Version:
  $Id$

### Field Summary

Fields
`static FastDateFormat` `ISO_DATE_FORMAT` ISO 8601 formatter for date without time zone.
`static FastDateFormat` `ISO_DATE_TIME_ZONE_FORMAT` ISO 8601-like formatter for date with time zone.
`static FastDateFormat` `ISO_DATETIME_FORMAT` ISO 8601 formatter for date-time without time zone.
`static FastDateFormat` `ISO_DATETIME_TIME_ZONE_FORMAT` ISO 8601 formatter for date-time with time zone.
`static FastDateFormat` `ISO_TIME_FORMAT` ISO 8601 formatter for time without time zone.
`static FastDateFormat` `ISO_TIME_NO_T_FORMAT` ISO 8601-like formatter for time without time zone.
`static FastDateFormat` `ISO_TIME_NO_T_TIME_ZONE_FORMAT` ISO 8601-like formatter for time with time zone.
`static FastDateFormat` `ISO_TIME_TIME_ZONE_FORMAT` ISO 8601 formatter for time with time zone.
`static FastDateFormat` `SMTP_DATETIME_FORMAT` SMTP (and probably other) date headers.

### Constructor Summary

Constructors
`DateFormatUtils()` DateFormatUtils instances should NOT be constructed in standard programming.

### Method Summary

All Methods Static Methods Concrete Methods
`static String` `format​(long millis, String pattern)` Formats a date/time into a specific pattern.
`static String` `format​(long millis, String pattern, Locale locale)` Formats a date/time into a specific pattern in a locale.
`static String` `format​(long millis, String pattern, TimeZone timeZone)` Formats a date/time into a specific pattern in a time zone.
`static String` `format​(long millis, String pattern, TimeZone timeZone, Locale locale)` Formats a date/time into a specific pattern in a time zone and locale.
`static String` `format​(Calendar calendar, String pattern)` Formats a calendar into a specific pattern.
`static String` `format​(Calendar calendar, String pattern, Locale locale)` Formats a calendar into a specific pattern in a locale.
`static String` `format​(Calendar calendar, String pattern, TimeZone timeZone)` Formats a calendar into a specific pattern in a time zone.
`static String` `format​(Calendar calendar, String pattern, TimeZone timeZone, Locale locale)` Formats a calendar into a specific pattern in a time zone and locale.
`static String` `format​(Date date, String pattern)` Formats a date/time into a specific pattern.
`static String` `format​(Date date, String pattern, Locale locale)` Formats a date/time into a specific pattern in a locale.
`static String` `format​(Date date, String pattern, TimeZone timeZone)` Formats a date/time into a specific pattern in a time zone.
`static String` `format​(Date date, String pattern, TimeZone timeZone, Locale locale)` Formats a date/time into a specific pattern in a time zone and locale.
`static String` `formatUTC​(long millis, String pattern)` Formats a date/time into a specific pattern using the UTC time zone.
`static String` `formatUTC​(long millis, String pattern, Locale locale)` Formats a date/time into a specific pattern using the UTC time zone.
`static String` `formatUTC​(Date date, String pattern)` Formats a date/time into a specific pattern using the UTC time zone.
`static String` `formatUTC​(Date date, String pattern, Locale locale)` Formats a date/time into a specific pattern using the UTC time zone.

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

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

### Field Detail

#### ISO_DATETIME_FORMAT

    public static final FastDateFormat ISO_DATETIME_FORMAT

ISO 8601 formatter for date-time without time zone. The format used is `yyyy-MM-dd'T'HH:mm:ss`.

#### ISO_DATETIME_TIME_ZONE_FORMAT

    public static final FastDateFormat ISO_DATETIME_TIME_ZONE_FORMAT

ISO 8601 formatter for date-time with time zone. The format used is `yyyy-MM-dd'T'HH:mm:ssZZ`.

#### ISO_DATE_FORMAT

    public static final FastDateFormat ISO_DATE_FORMAT

ISO 8601 formatter for date without time zone. The format used is `yyyy-MM-dd`.

#### ISO_DATE_TIME_ZONE_FORMAT

    public static final FastDateFormat ISO_DATE_TIME_ZONE_FORMAT

ISO 8601-like formatter for date with time zone. The format used is `yyyy-MM-ddZZ`. This pattern does not comply with the formal ISO 8601 specification as the standard does not allow a time zone without a time.

#### ISO_TIME_FORMAT

    public static final FastDateFormat ISO_TIME_FORMAT

ISO 8601 formatter for time without time zone. The format used is `'T'HH:mm:ss`.

#### ISO_TIME_TIME_ZONE_FORMAT

    public static final FastDateFormat ISO_TIME_TIME_ZONE_FORMAT

ISO 8601 formatter for time with time zone. The format used is `'T'HH:mm:ssZZ`.

#### ISO_TIME_NO_T_FORMAT

    public static final FastDateFormat ISO_TIME_NO_T_FORMAT

ISO 8601-like formatter for time without time zone. The format used is `HH:mm:ss`. This pattern does not comply with the formal ISO 8601 specification as the standard requires the 'T' prefix for times.

#### ISO_TIME_NO_T_TIME_ZONE_FORMAT

    public static final FastDateFormat ISO_TIME_NO_T_TIME_ZONE_FORMAT

ISO 8601-like formatter for time with time zone. The format used is `HH:mm:ssZZ`. This pattern does not comply with the formal ISO 8601 specification as the standard requires the 'T' prefix for times.

#### SMTP_DATETIME_FORMAT

    public static final FastDateFormat SMTP_DATETIME_FORMAT

SMTP (and probably other) date headers. The format used is `EEE, dd MMM yyyy HH:mm:ss Z` in US locale.

### Constructor Detail

#### DateFormatUtils

    public DateFormatUtils()

DateFormatUtils instances should NOT be constructed in standard programming.

This constructor is public to permit tools that require a JavaBean instance to operate.

### Method Detail

#### formatUTC

    public static String formatUTC​(long millis,
                                   String pattern)

Formats a date/time into a specific pattern using the UTC time zone.

Parameters:
  `millis` - the date to format expressed in milliseconds
  `pattern` - the pattern to use to format the date, not null
Returns:
  the formatted date

#### formatUTC

    public static String formatUTC​(Date date,
                                   String pattern)

Formats a date/time into a specific pattern using the UTC time zone.

Parameters:
  `date` - the date to format, not null
  `pattern` - the pattern to use to format the date, not null
Returns:
  the formatted date

#### formatUTC

    public static String formatUTC​(long millis,
                                   String pattern,
                                   Locale locale)

Formats a date/time into a specific pattern using the UTC time zone.

Parameters:
  `millis` - the date to format expressed in milliseconds
  `pattern` - the pattern to use to format the date, not null
  `locale` - the locale to use, may be `null`
Returns:
  the formatted date

#### formatUTC

    public static String formatUTC​(Date date,
                                   String pattern,
                                   Locale locale)

Formats a date/time into a specific pattern using the UTC time zone.

Parameters:
  `date` - the date to format, not null
  `pattern` - the pattern to use to format the date, not null
  `locale` - the locale to use, may be `null`
Returns:
  the formatted date

#### format

    public static String format​(long millis,
                                String pattern)

Formats a date/time into a specific pattern.

Parameters:
  `millis` - the date to format expressed in milliseconds
  `pattern` - the pattern to use to format the date, not null
Returns:
  the formatted date

#### format

    public static String format​(Date date,
                                String pattern)

Formats a date/time into a specific pattern.

Parameters:
  `date` - the date to format, not null
  `pattern` - the pattern to use to format the date, not null
Returns:
  the formatted date

#### format

    public static String format​(Calendar calendar,
                                String pattern)

Formats a calendar into a specific pattern.

Parameters:
  `calendar` - the calendar to format, not null
  `pattern` - the pattern to use to format the calendar, not null
Returns:
  the formatted calendar
Since:
  2.4
See Also:
  `FastDateFormat.format(Calendar)`

#### format

    public static String format​(long millis,
                                String pattern,
                                TimeZone timeZone)

Formats a date/time into a specific pattern in a time zone.

Parameters:
  `millis` - the time expressed in milliseconds
  `pattern` - the pattern to use to format the date, not null
  `timeZone` - the time zone to use, may be `null`
Returns:
  the formatted date

#### format

    public static String format​(Date date,
                                String pattern,
                                TimeZone timeZone)

Formats a date/time into a specific pattern in a time zone.

Parameters:
  `date` - the date to format, not null
  `pattern` - the pattern to use to format the date, not null
  `timeZone` - the time zone to use, may be `null`
Returns:
  the formatted date

#### format

    public static String format​(Calendar calendar,
                                String pattern,
                                TimeZone timeZone)

Formats a calendar into a specific pattern in a time zone.

Parameters:
  `calendar` - the calendar to format, not null
  `pattern` - the pattern to use to format the calendar, not null
  `timeZone` - the time zone to use, may be `null`
Returns:
  the formatted calendar
Since:
  2.4
See Also:
  `FastDateFormat.format(Calendar)`

#### format

    public static String format​(long millis,
                                String pattern,
                                Locale locale)

Formats a date/time into a specific pattern in a locale.

Parameters:
  `millis` - the date to format expressed in milliseconds
  `pattern` - the pattern to use to format the date, not null
  `locale` - the locale to use, may be `null`
Returns:
  the formatted date

#### format

    public static String format​(Date date,
                                String pattern,
                                Locale locale)

Formats a date/time into a specific pattern in a locale.

Parameters:
  `date` - the date to format, not null
  `pattern` - the pattern to use to format the date, not null
  `locale` - the locale to use, may be `null`
Returns:
  the formatted date

#### format

    public static String format​(Calendar calendar,
                                String pattern,
                                Locale locale)

Formats a calendar into a specific pattern in a locale.

Parameters:
  `calendar` - the calendar to format, not null
  `pattern` - the pattern to use to format the calendar, not null
  `locale` - the locale to use, may be `null`
Returns:
  the formatted calendar
Since:
  2.4
See Also:
  `FastDateFormat.format(Calendar)`

#### format

    public static String format​(long millis,
                                String pattern,
                                TimeZone timeZone,
                                Locale locale)

Formats a date/time into a specific pattern in a time zone and locale.

Parameters:
  `millis` - the date to format expressed in milliseconds
  `pattern` - the pattern to use to format the date, not null
  `timeZone` - the time zone to use, may be `null`
  `locale` - the locale to use, may be `null`
Returns:
  the formatted date

#### format

    public static String format​(Date date,
                                String pattern,
                                TimeZone timeZone,
                                Locale locale)

Formats a date/time into a specific pattern in a time zone and locale.

Parameters:
  `date` - the date to format, not null
  `pattern` - the pattern to use to format the date, not null, not null
  `timeZone` - the time zone to use, may be `null`
  `locale` - the locale to use, may be `null`
Returns:
  the formatted date

#### format

    public static String format​(Calendar calendar,
                                String pattern,
                                TimeZone timeZone,
                                Locale locale)

Formats a calendar into a specific pattern in a time zone and locale.

Parameters:
  `calendar` - the calendar to format, not null
  `pattern` - the pattern to use to format the calendar, not null
  `timeZone` - the time zone to use, may be `null`
  `locale` - the locale to use, may be `null`
Returns:
  the formatted calendar
Since:
  2.4
See Also:
  `FastDateFormat.format(Calendar)`