Class DateFormatUtils
- java.lang.Object
-
- org.apache.commons.lang3.time.DateFormatUtils
-
public class DateFormatUtils extends java.lang.Object
Date and time formatting utilities and constants.
Formatting is performed using the thread-safe
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
-
-
Field Summary
Fields Modifier and Type Field Description static FastDateFormat
ISO_8601_EXTENDED_DATE_FORMAT
ISO 8601 formatter for date without time zone.static FastDateFormat
ISO_8601_EXTENDED_DATETIME_FORMAT
ISO 8601 formatter for date-time without time zone.static FastDateFormat
ISO_8601_EXTENDED_DATETIME_TIME_ZONE_FORMAT
ISO 8601 formatter for date-time with time zone.static FastDateFormat
ISO_8601_EXTENDED_TIME_FORMAT
ISO 8601 formatter for time without time zone.static FastDateFormat
ISO_8601_EXTENDED_TIME_TIME_ZONE_FORMAT
ISO 8601 formatter for time with time zone.static FastDateFormat
ISO_DATE_FORMAT
Deprecated.- as of 4.0, ISO_DATE_FORMAT will be replaced by ISO_8601_EXTENDED_DATE_FORMAT.static FastDateFormat
ISO_DATE_TIME_ZONE_FORMAT
Deprecated.- as of 4.0, ISO_DATE_TIME_ZONE_FORMAT will be removed.static FastDateFormat
ISO_DATETIME_FORMAT
Deprecated.- as of 4.0, ISO_DATETIME_FORMAT will be replaced by ISO_8601_EXTENDED_DATETIME_FORMAT.static FastDateFormat
ISO_DATETIME_TIME_ZONE_FORMAT
Deprecated.- as of 4.0, ISO_DATETIME_TIME_ZONE_FORMAT will be replaced by ISO_8601_EXTENDED_DATETIME_TIME_ZONE_FORMAT.static FastDateFormat
ISO_TIME_FORMAT
Deprecated.- as of 4.0, ISO_TIME_FORMAT will be removed.static FastDateFormat
ISO_TIME_NO_T_FORMAT
Deprecated.- as of 4.0, ISO_TIME_NO_T_FORMAT will be replaced by ISO_8601_EXTENDED_TIME_FORMAT.static FastDateFormat
ISO_TIME_NO_T_TIME_ZONE_FORMAT
Deprecated.- as of 4.0, ISO_TIME_NO_T_TIME_ZONE_FORMAT will be replaced by ISO_8601_EXTENDED_TIME_TIME_ZONE_FORMAT.static FastDateFormat
ISO_TIME_TIME_ZONE_FORMAT
Deprecated.- as of 4.0, ISO_TIME_TIME_ZONE_FORMAT will be removed.static 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
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.String
format(long millis, java.lang.String pattern)
Formats a date/time into a specific pattern.static java.lang.String
format(long millis, java.lang.String pattern, java.util.Locale locale)
Formats a date/time into a specific pattern in a locale.static java.lang.String
format(long millis, java.lang.String pattern, java.util.TimeZone timeZone)
Formats a date/time into a specific pattern in a time zone.static java.lang.String
format(long millis, java.lang.String pattern, java.util.TimeZone timeZone, java.util.Locale locale)
Formats a date/time into a specific pattern in a time zone and locale.static java.lang.String
format(java.util.Calendar calendar, java.lang.String pattern)
Formats a calendar into a specific pattern.static java.lang.String
format(java.util.Calendar calendar, java.lang.String pattern, java.util.Locale locale)
Formats a calendar into a specific pattern in a locale.static java.lang.String
format(java.util.Calendar calendar, java.lang.String pattern, java.util.TimeZone timeZone)
Formats a calendar into a specific pattern in a time zone.static java.lang.String
format(java.util.Calendar calendar, java.lang.String pattern, java.util.TimeZone timeZone, java.util.Locale locale)
Formats a calendar into a specific pattern in a time zone and locale.static java.lang.String
format(java.util.Date date, java.lang.String pattern)
Formats a date/time into a specific pattern.static java.lang.String
format(java.util.Date date, java.lang.String pattern, java.util.Locale locale)
Formats a date/time into a specific pattern in a locale.static java.lang.String
format(java.util.Date date, java.lang.String pattern, java.util.TimeZone timeZone)
Formats a date/time into a specific pattern in a time zone.static java.lang.String
format(java.util.Date date, java.lang.String pattern, java.util.TimeZone timeZone, java.util.Locale locale)
Formats a date/time into a specific pattern in a time zone and locale.static java.lang.String
formatUTC(long millis, java.lang.String pattern)
Formats a date/time into a specific pattern using the UTC time zone.static java.lang.String
formatUTC(long millis, java.lang.String pattern, java.util.Locale locale)
Formats a date/time into a specific pattern using the UTC time zone.static java.lang.String
formatUTC(java.util.Date date, java.lang.String pattern)
Formats a date/time into a specific pattern using the UTC time zone.static java.lang.String
formatUTC(java.util.Date date, java.lang.String pattern, java.util.Locale locale)
Formats a date/time into a specific pattern using the UTC time zone.
-
-
-
Field Detail
-
ISO_8601_EXTENDED_DATETIME_FORMAT
public static final FastDateFormat ISO_8601_EXTENDED_DATETIME_FORMAT
ISO 8601 formatter for date-time without time zone.The format used is
yyyy-MM-dd'T'HH:mm:ss
. This format uses the default TimeZone in effect at the time of loading DateFormatUtils class.- Since:
- 3.5
-
ISO_DATETIME_FORMAT
@Deprecated public static final FastDateFormat ISO_DATETIME_FORMAT
Deprecated.- as of 4.0, ISO_DATETIME_FORMAT will be replaced by ISO_8601_EXTENDED_DATETIME_FORMAT.
-
ISO_8601_EXTENDED_DATETIME_TIME_ZONE_FORMAT
public static final FastDateFormat ISO_8601_EXTENDED_DATETIME_TIME_ZONE_FORMAT
ISO 8601 formatter for date-time with time zone.The format used is
yyyy-MM-dd'T'HH:mm:ssZZ
. This format uses the default TimeZone in effect at the time of loading DateFormatUtils class.- Since:
- 3.5
-
ISO_DATETIME_TIME_ZONE_FORMAT
@Deprecated public static final FastDateFormat ISO_DATETIME_TIME_ZONE_FORMAT
Deprecated.- as of 4.0, ISO_DATETIME_TIME_ZONE_FORMAT will be replaced by ISO_8601_EXTENDED_DATETIME_TIME_ZONE_FORMAT.
-
ISO_8601_EXTENDED_DATE_FORMAT
public static final FastDateFormat ISO_8601_EXTENDED_DATE_FORMAT
ISO 8601 formatter for date without time zone.The format used is
yyyy-MM-dd
. This format uses the default TimeZone in effect at the time of loading DateFormatUtils class.- Since:
- 3.5
-
ISO_DATE_FORMAT
@Deprecated public static final FastDateFormat ISO_DATE_FORMAT
Deprecated.- as of 4.0, ISO_DATE_FORMAT will be replaced by ISO_8601_EXTENDED_DATE_FORMAT.
-
ISO_DATE_TIME_ZONE_FORMAT
@Deprecated public static final FastDateFormat ISO_DATE_TIME_ZONE_FORMAT
Deprecated.- as of 4.0, ISO_DATE_TIME_ZONE_FORMAT will be removed.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. This format uses the default TimeZone in effect at the time of loading DateFormatUtils class.
-
ISO_TIME_FORMAT
@Deprecated public static final FastDateFormat ISO_TIME_FORMAT
Deprecated.- as of 4.0, ISO_TIME_FORMAT will be removed.Non-compliant formatter for time without time zone (ISO 8601 does not prefix 'T' for standalone time value).The format used is
'T'HH:mm:ss
. This format uses the default TimeZone in effect at the time of loading DateFormatUtils class.
-
ISO_TIME_TIME_ZONE_FORMAT
@Deprecated public static final FastDateFormat ISO_TIME_TIME_ZONE_FORMAT
Deprecated.- as of 4.0, ISO_TIME_TIME_ZONE_FORMAT will be removed.Non-compliant formatter for time with time zone (ISO 8601 does not prefix 'T' for standalone time value).The format used is
'T'HH:mm:ssZZ
. This format uses the default TimeZone in effect at the time of loading DateFormatUtils class.
-
ISO_8601_EXTENDED_TIME_FORMAT
public static final FastDateFormat ISO_8601_EXTENDED_TIME_FORMAT
ISO 8601 formatter for time without time zone.The format used is
HH:mm:ss
. This format uses the default TimeZone in effect at the time of loading DateFormatUtils class.- Since:
- 3.5
-
ISO_TIME_NO_T_FORMAT
@Deprecated public static final FastDateFormat ISO_TIME_NO_T_FORMAT
Deprecated.- as of 4.0, ISO_TIME_NO_T_FORMAT will be replaced by ISO_8601_EXTENDED_TIME_FORMAT.
-
ISO_8601_EXTENDED_TIME_TIME_ZONE_FORMAT
public static final FastDateFormat ISO_8601_EXTENDED_TIME_TIME_ZONE_FORMAT
ISO 8601 formatter for time with time zone.The format used is
HH:mm:ssZZ
. This format uses the default TimeZone in effect at the time of loading DateFormatUtils class.- Since:
- 3.5
-
ISO_TIME_NO_T_TIME_ZONE_FORMAT
@Deprecated public static final FastDateFormat ISO_TIME_NO_T_TIME_ZONE_FORMAT
Deprecated.- as of 4.0, ISO_TIME_NO_T_TIME_ZONE_FORMAT will be replaced by ISO_8601_EXTENDED_TIME_TIME_ZONE_FORMAT.
-
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. This format uses the default TimeZone in effect at the time of loading DateFormatUtils class.
-
-
Method Detail
-
formatUTC
public static java.lang.String formatUTC(long millis, java.lang.String pattern)
Formats a date/time into a specific pattern using the UTC time zone.
- Parameters:
millis
- the date to format expressed in millisecondspattern
- the pattern to use to format the date, not null- Returns:
- the formatted date
-
formatUTC
public static java.lang.String formatUTC(java.util.Date date, java.lang.String pattern)
Formats a date/time into a specific pattern using the UTC time zone.
- Parameters:
date
- the date to format, not nullpattern
- the pattern to use to format the date, not null- Returns:
- the formatted date
-
formatUTC
public static java.lang.String formatUTC(long millis, java.lang.String pattern, java.util.Locale locale)
Formats a date/time into a specific pattern using the UTC time zone.
- Parameters:
millis
- the date to format expressed in millisecondspattern
- the pattern to use to format the date, not nulllocale
- the locale to use, may benull
- Returns:
- the formatted date
-
formatUTC
public static java.lang.String formatUTC(java.util.Date date, java.lang.String pattern, java.util.Locale locale)
Formats a date/time into a specific pattern using the UTC time zone.
- Parameters:
date
- the date to format, not nullpattern
- the pattern to use to format the date, not nulllocale
- the locale to use, may benull
- Returns:
- the formatted date
-
format
public static java.lang.String format(long millis, java.lang.String pattern)
Formats a date/time into a specific pattern.
- Parameters:
millis
- the date to format expressed in millisecondspattern
- the pattern to use to format the date, not null- Returns:
- the formatted date
-
format
public static java.lang.String format(java.util.Date date, java.lang.String pattern)
Formats a date/time into a specific pattern.
- Parameters:
date
- the date to format, not nullpattern
- the pattern to use to format the date, not null- Returns:
- the formatted date
-
format
public static java.lang.String format(java.util.Calendar calendar, java.lang.String pattern)
Formats a calendar into a specific pattern.
- Parameters:
calendar
- the calendar to format, not nullpattern
- 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 java.lang.String format(long millis, java.lang.String pattern, java.util.TimeZone timeZone)
Formats a date/time into a specific pattern in a time zone.
- Parameters:
millis
- the time expressed in millisecondspattern
- the pattern to use to format the date, not nulltimeZone
- the time zone to use, may benull
- Returns:
- the formatted date
-
format
public static java.lang.String format(java.util.Date date, java.lang.String pattern, java.util.TimeZone timeZone)
Formats a date/time into a specific pattern in a time zone.
- Parameters:
date
- the date to format, not nullpattern
- the pattern to use to format the date, not nulltimeZone
- the time zone to use, may benull
- Returns:
- the formatted date
-
format
public static java.lang.String format(java.util.Calendar calendar, java.lang.String pattern, java.util.TimeZone timeZone)
Formats a calendar into a specific pattern in a time zone.
- Parameters:
calendar
- the calendar to format, not nullpattern
- the pattern to use to format the calendar, not nulltimeZone
- the time zone to use, may benull
- Returns:
- the formatted calendar
- Since:
- 2.4
- See Also:
FastDateFormat.format(Calendar)
-
format
public static java.lang.String format(long millis, java.lang.String pattern, java.util.Locale locale)
Formats a date/time into a specific pattern in a locale.
- Parameters:
millis
- the date to format expressed in millisecondspattern
- the pattern to use to format the date, not nulllocale
- the locale to use, may benull
- Returns:
- the formatted date
-
format
public static java.lang.String format(java.util.Date date, java.lang.String pattern, java.util.Locale locale)
Formats a date/time into a specific pattern in a locale.
- Parameters:
date
- the date to format, not nullpattern
- the pattern to use to format the date, not nulllocale
- the locale to use, may benull
- Returns:
- the formatted date
-
format
public static java.lang.String format(java.util.Calendar calendar, java.lang.String pattern, java.util.Locale locale)
Formats a calendar into a specific pattern in a locale.
- Parameters:
calendar
- the calendar to format, not nullpattern
- the pattern to use to format the calendar, not nulllocale
- the locale to use, may benull
- Returns:
- the formatted calendar
- Since:
- 2.4
- See Also:
FastDateFormat.format(Calendar)
-
format
public static java.lang.String format(long millis, java.lang.String pattern, java.util.TimeZone timeZone, java.util.Locale locale)
Formats a date/time into a specific pattern in a time zone and locale.
- Parameters:
millis
- the date to format expressed in millisecondspattern
- the pattern to use to format the date, not nulltimeZone
- the time zone to use, may benull
locale
- the locale to use, may benull
- Returns:
- the formatted date
-
format
public static java.lang.String format(java.util.Date date, java.lang.String pattern, java.util.TimeZone timeZone, java.util.Locale locale)
Formats a date/time into a specific pattern in a time zone and locale.
- Parameters:
date
- the date to format, not nullpattern
- the pattern to use to format the date, not null, not nulltimeZone
- the time zone to use, may benull
locale
- the locale to use, may benull
- Returns:
- the formatted date
-
format
public static java.lang.String format(java.util.Calendar calendar, java.lang.String pattern, java.util.TimeZone timeZone, java.util.Locale locale)
Formats a calendar into a specific pattern in a time zone and locale.
- Parameters:
calendar
- the calendar to format, not nullpattern
- the pattern to use to format the calendar, not nulltimeZone
- the time zone to use, may benull
locale
- the locale to use, may benull
- Returns:
- the formatted calendar
- Since:
- 2.4
- See Also:
FastDateFormat.format(Calendar)
-
-