Class DateUtils


  • public class DateUtils
    extends java.lang.Object
    Contains utilities to format and parse dates.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String ATTIVIO_DATE_FORMAT
      The format to for indexed Dates in Attivio
      static java.util.TimeZone GMT
      Time Zone for GMT
      static java.lang.String ISO_8601_DATE_FORMAT
      The ISO-8601 date format: yyyy-MM-dd'T'HH:mm:ss.
      static java.lang.String ISO_8601_DATE_FORMAT_DAY_ONLY
      The ISO-8601 date format for days only: yyyy-MM-dd
      static java.lang.String ISO_8601_DATE_FORMAT_NO_T
      The ISO-8601 date format with no 'T': yyyy-MM-dd HH:mm:ss.
      static java.lang.String ISO_8601_DATE_FORMAT_WITH_MILLIS
      The ISO-8601 date format including ms: yyyy-MM-dd'T'HH:mm:ss.
      static java.util.TimeZone LOCAL
      The local time zone
      static java.util.TimeZone UTC
      Time Zone for UTC
      static java.lang.String XML_GREGORIAN
      The Gregorian date format: yyyy-MM-dd'T'HH:mm:ss.SSSZ.
      static java.lang.String XML_GREGORIAN_NO_MILLIS
      The Gregorian date format: yyyy-MM-dd'T'HH:mm:ssZ.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected DateUtils()
      The default constructor (hidden).
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static java.util.Date ceil​(TimeResolution units, java.util.Date value)
      Round value up to the next units.
      static java.lang.String formatDate​(java.util.Date d)
      Formats a date according to ISO_8601_DATE_FORMAT format.
      static java.lang.String formatDate​(java.util.Date d, java.lang.String format, java.lang.String timeZone)
      Formats a date according to a specified format.
      static java.lang.String formatDate​(java.util.Date d, java.lang.String format, java.util.TimeZone timeZone)
      Formats a date according to a specified format.
      static java.lang.String formatDate​(java.util.Date d, java.util.TimeZone timezone)
      Formats a date according to ISO_8601_DATE_FORMAT format.
      static java.lang.String formatDuration​(long time)
      Formats a duration ( difference between 2 times) such that only the 2 most significant time units are included.
      static java.util.TimeZone getTimeZone​(java.lang.String tzString)
      Converts the string passed in tzString to a java.util.TimeZone
      static java.util.Date parseDate​(java.lang.String s)
      Parses a date in ISO_8601_DATE_FORMAT format.
      static java.util.Date parseDate​(java.lang.String dateStr, java.lang.String format, java.util.TimeZone timeZone)
      Parses a date in the specified format format.
      static java.util.Date parseDate​(java.lang.String s, java.util.TimeZone timeZone)
      Parse a date in ISO_8601_DATE_FORMAT in the specified time zone.
      static java.lang.String timeDifference​(long start, long stop)
      Returns the time broken down by hour, minute, second.
      static java.util.Calendar toCalendar​(java.util.Date date)
      Convert a Date to a Calendar.
      static java.util.Calendar toCalendar​(java.util.Date date, java.util.TimeZone zone)
      Convert a Date to a Calendar using a time zone.
      static java.util.Date toDate​(java.lang.Object o)
      Converts an arbitrary object into a Date.
      static java.util.Date toDate​(java.lang.Object o, java.lang.String formatString)
      Converts an arbitrary object into a Date based on a format string.
      static java.util.Date toDate​(java.lang.Object o, java.lang.String formatString, java.util.TimeZone defaultTimezone)
      Converts an arbitrary object into a Date based on a format string and timezone default.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • ISO_8601_DATE_FORMAT

        public static final java.lang.String ISO_8601_DATE_FORMAT
        The ISO-8601 date format: yyyy-MM-dd'T'HH:mm:ss.
        See Also:
        Constant Field Values
      • ISO_8601_DATE_FORMAT_WITH_MILLIS

        public static final java.lang.String ISO_8601_DATE_FORMAT_WITH_MILLIS
        The ISO-8601 date format including ms: yyyy-MM-dd'T'HH:mm:ss.
        See Also:
        Constant Field Values
      • ISO_8601_DATE_FORMAT_DAY_ONLY

        public static final java.lang.String ISO_8601_DATE_FORMAT_DAY_ONLY
        The ISO-8601 date format for days only: yyyy-MM-dd
        See Also:
        Constant Field Values
      • ISO_8601_DATE_FORMAT_NO_T

        public static final java.lang.String ISO_8601_DATE_FORMAT_NO_T
        The ISO-8601 date format with no 'T': yyyy-MM-dd HH:mm:ss.
        See Also:
        Constant Field Values
      • XML_GREGORIAN_NO_MILLIS

        public static final java.lang.String XML_GREGORIAN_NO_MILLIS
        The Gregorian date format: yyyy-MM-dd'T'HH:mm:ssZ.
        See Also:
        Constant Field Values
      • XML_GREGORIAN

        public static final java.lang.String XML_GREGORIAN
        The Gregorian date format: yyyy-MM-dd'T'HH:mm:ss.SSSZ.
        See Also:
        Constant Field Values
      • ATTIVIO_DATE_FORMAT

        public static final java.lang.String ATTIVIO_DATE_FORMAT
        The format to for indexed Dates in Attivio
        See Also:
        Constant Field Values
      • UTC

        public static final java.util.TimeZone UTC
        Time Zone for UTC
      • GMT

        public static final java.util.TimeZone GMT
        Time Zone for GMT
      • LOCAL

        public static final java.util.TimeZone LOCAL
        The local time zone
    • Constructor Detail

      • DateUtils

        protected DateUtils()
        The default constructor (hidden).
    • Method Detail

      • toCalendar

        public static java.util.Calendar toCalendar​(java.util.Date date)
        Convert a Date to a Calendar.
      • toCalendar

        public static java.util.Calendar toCalendar​(java.util.Date date,
                                                    java.util.TimeZone zone)
        Convert a Date to a Calendar using a time zone.
      • formatDate

        public static java.lang.String formatDate​(java.util.Date d,
                                                  java.lang.String format,
                                                  java.lang.String timeZone)
        Formats a date according to a specified format.
        Parameters:
        d - Date to format
        format - format string
        timeZone - the name of the TimeZone to use for formatting
        Returns:
        String representation of Date according to format
      • formatDate

        public static java.lang.String formatDate​(java.util.Date d,
                                                  java.lang.String format,
                                                  java.util.TimeZone timeZone)
        Formats a date according to a specified format.
        Parameters:
        d - Date to format
        format - format string
        timeZone - the TimeZone to use for formatting
        Returns:
        String representation of Date according to format
      • parseDate

        public static java.util.Date parseDate​(java.lang.String s)
        Parses a date in ISO_8601_DATE_FORMAT format.
        Parameters:
        s - Date string to parse in ISO_8601_DATE_FORMAT format
        Returns:
        Date object
        See Also:
        AttivioDateFormat.parse(String)
      • parseDate

        public static java.util.Date parseDate​(java.lang.String s,
                                               java.util.TimeZone timeZone)
        Parse a date in ISO_8601_DATE_FORMAT in the specified time zone.
        See Also:
        AttivioDateFormat.parse(String, TimeZone)
      • parseDate

        public static java.util.Date parseDate​(java.lang.String dateStr,
                                               java.lang.String format,
                                               java.util.TimeZone timeZone)
                                        throws java.text.ParseException
        Parses a date in the specified format format.
        Parameters:
        dateStr - Date string to parse
        format - format to parse Date as
        timeZone - the timezone to parse dateStr as
        Returns:
        Date object representation of String
        Throws:
        java.text.ParseException - if the date is not in the expected format
      • formatDate

        public static java.lang.String formatDate​(java.util.Date d)
        Formats a date according to ISO_8601_DATE_FORMAT format.
        Parameters:
        d - Date to format
        Returns:
        String representation of Date according to ISO_8601_DATE_FORMAT
      • formatDate

        public static java.lang.String formatDate​(java.util.Date d,
                                                  java.util.TimeZone timezone)
        Formats a date according to ISO_8601_DATE_FORMAT format.
        Parameters:
        d - Date to format
        timezone - timezone to format to
        Returns:
        String representation of Date according to ISO_8601_DATE_FORMAT
      • formatDuration

        public static java.lang.String formatDuration​(long time)
        Formats a duration ( difference between 2 times) such that only the 2 most significant time units are included. The time units displayed can be days, hours, minutes, and/or seconds.

        For instance: 2d, 14h 2d, 35m 10h, 45m 45m, 30s 60s

        Parameters:
        time - duration. (in milliseconds)
        Returns:
        the duration as a human readable string
      • toDate

        public static java.util.Date toDate​(java.lang.Object o,
                                            java.lang.String formatString)
        Converts an arbitrary object into a Date based on a format string.

        Numbers are treated as seconds since epoch. String are treated as ISO-8601 formated date.

        Parameters:
        o - the object to convert
        formatString - the format
        Returns:
        the date
      • toDate

        public static java.util.Date toDate​(java.lang.Object o,
                                            java.lang.String formatString,
                                            java.util.TimeZone defaultTimezone)
        Converts an arbitrary object into a Date based on a format string and timezone default.

        Numbers are treated as seconds since epoch. String are treated as ISO-8601 formated date.

        Parameters:
        o - the object to convert
        formatString - the format
        defaultTimezone - the fallback timezone in case the format specified doesn't contain a timezone
        Returns:
        the date
      • toDate

        public static java.util.Date toDate​(java.lang.Object o)
        Converts an arbitrary object into a Date.

        Numbers are treated as seconds since epoch. String are treated as ISO-8601 formated date.

        Parameters:
        o - the object
        Returns:
        the date
      • getTimeZone

        public static java.util.TimeZone getTimeZone​(java.lang.String tzString)
        Converts the string passed in tzString to a java.util.TimeZone
        Parameters:
        tzString - the timezone string
        Returns:
        A TimeZone object or null if tzString is not a valid/known timezone
      • ceil

        public static final java.util.Date ceil​(TimeResolution units,
                                                java.util.Date value)
        Round value up to the next units.
      • timeDifference

        public static java.lang.String timeDifference​(long start,
                                                      long stop)
        Returns the time broken down by hour, minute, second.