java.lang.Object
edu.internet2.middleware.grouperClientExt.org.apache.commons.lang3.time.DateFormatUtils

public class DateFormatUtils extends 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 Details

    • 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.

  • 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, 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:
    • 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:
    • 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:
    • 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: