Package org.apache.commons.lang.time

# Class DateFormatUtils

java.lang.Object
org.apache.commons.lang.time.DateFormatUtils

public class DateFormatUtils extends Object

Date and time formatting utilities and constants.

Formatting is performed using the `FastDateFormat` class.

Since:
  2.0
Version:
  $Id: DateFormatUtils.java 905636 2010-02-02 14:03:32Z niallp $

## Field Summary

Fields
Modifier and Type
Field
Description
`static final FastDateFormat`
`ISO_DATE_FORMAT`
ISO8601 formatter for date without time zone.
`static final FastDateFormat`
`ISO_DATE_TIME_ZONE_FORMAT`
ISO8601-like formatter for date with time zone.
`static final FastDateFormat`
`ISO_DATETIME_FORMAT`
ISO8601 formatter for date-time without time zone.
`static final FastDateFormat`
`ISO_DATETIME_TIME_ZONE_FORMAT`
ISO8601 formatter for date-time with time zone.
`static final FastDateFormat`
`ISO_TIME_FORMAT`
ISO8601 formatter for time without time zone.
`static final FastDateFormat`
`ISO_TIME_NO_T_FORMAT`
ISO8601-like formatter for time without time zone.
`static final FastDateFormat`
`ISO_TIME_NO_T_TIME_ZONE_FORMAT`
ISO8601-like formatter for time with time zone.
`static final FastDateFormat`
`ISO_TIME_TIME_ZONE_FORMAT`
ISO8601 formatter for time with time zone.
`static final FastDateFormat`
`SMTP_DATETIME_FORMAT`
SMTP (and probably other) date headers.

## Constructor Summary

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

## Method Summary

Modifier and Type
Method
Description
`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 Details

### ISO_DATETIME_FORMAT

public static final FastDateFormat ISO_DATETIME_FORMAT
ISO8601 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
ISO8601 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
ISO8601 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
ISO8601-like formatter for date with time zone. The format used is `yyyy-MM-ddZZ`. This pattern does not comply with the formal ISO8601 specification as the standard does not allow a time zone without a time.

### ISO_TIME_FORMAT

public static final FastDateFormat ISO_TIME_FORMAT
ISO8601 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
ISO8601 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
ISO8601-like formatter for time without time zone. The format used is `HH:mm:ss`. This pattern does not comply with the formal ISO8601 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
ISO8601-like formatter for time with time zone. The format used is `HH:mm:ssZZ`. This pattern does not comply with the formal ISO8601 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 Details

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

### 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
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
  `pattern` - the pattern to use to format the date
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
  `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
  `pattern` - the pattern to use to format the date
  `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
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
  `pattern` - the pattern to use to format the date
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
  `pattern` - the pattern to use to format the calendar
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
  `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
  `pattern` - the pattern to use to format the date
  `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
  `pattern` - the pattern to use to format the calendar
  `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
  `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
  `pattern` - the pattern to use to format the date
  `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
  `pattern` - the pattern to use to format the calendar
  `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
  `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
  `pattern` - the pattern to use to format the date
  `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
  `pattern` - the pattern to use to format the calendar
  `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)`