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.
Note that when using capital YYYY instead of lowercase yyyy, the formatter will assume current year as week year is not supported. See
GregorianCalendar
Week Year section for an explanation on the difference between calendar and week years.- 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
-
format
public static java.lang.String format(java.util.Calendar calendar, java.lang.String pattern)
Formats a calendar into a specific pattern. The TimeZone from the calendar will be used for formatting.- 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(java.util.Calendar calendar, java.lang.String pattern, java.util.Locale locale)
Formats a calendar into a specific pattern in a locale. The TimeZone from the calendar will be used for formatting.- 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(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(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)
-
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.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.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.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(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(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(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(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
-
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(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
-
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(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
-
-