org.jboss.dna.common.util
Class DateUtil

java.lang.Object
  extended by org.jboss.dna.common.util.DateUtil

@ThreadSafe
public class DateUtil
extends Object

Utilities for working with dates.

Many of the methods that convert dates to and from strings utilize the ISO 8601:2004 standard string format yyyy-MM-ddTHH:mm:ss.SSSZ, where

 Symbol   Meaning                 Presentation        Example
 ------   -------                 ------------        -------
 y        year                    (Number)            1996
 M        month in year           (Number)            07
 d        day in month            (Number)            10
 h        hour in am/pm (1˜12)    (Number)            12
 H        hour in day (0˜23)      (Number)            0
 m        minute in hour          (Number)            30
 s        second in minute        (Number)            55
 S        millisecond             (Number)            978
 Z        time zone               (Number)            -0600
 

This class is written to be thread safe. As SimpleDateFormat is not threadsafe, no shared instances are used.

Author:
Randall Hauch

Field Summary
static String ISO_8601_2004_FORMAT
           
 
Method Summary
static Calendar getCalendarFromStandardString(String dateString)
          Parse the date contained in the supplied string.
static String getDateAsStandardString(Calendar date)
          Obtain an ISO 8601:2004 string representation of the date given the supplied milliseconds since the epoch.
static String getDateAsStandardString(Date date)
          Obtain an ISO 8601:2004 string representation of the supplied date.
static String getDateAsStandardString(long millisecondsSinceEpoch)
          Obtain an ISO 8601:2004 string representation of the date given the supplied milliseconds since the epoch.
static String getDateAsStringForCurrentLocale(Date date)
           
static String getDateAsStringForLocale(Date date, Locale locale)
           
static Date getDateFromStandardString(String dateString)
          Parse the date contained in the supplied string.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ISO_8601_2004_FORMAT

public static final String ISO_8601_2004_FORMAT
See Also:
Constant Field Values
Method Detail

getCalendarFromStandardString

public static Calendar getCalendarFromStandardString(String dateString)
                                              throws ParseException
Parse the date contained in the supplied string. The date must follow one of the standard ISO 8601 formats, of the form datepartTtimepart, where datepart is one of the following forms:

YYYYMMDD
The 4-digit year, the 2-digit month (00-12), and the 2-digit day of the month (00-31). The month and day are optional, but the month is required if the day is given.
YYYY-MM-DD
The 4-digit year, the 2-digit month (00-12), and the 2-digit day of the month (00-31). The month and day are optional, but the month is required if the day is given.
YYYY-Www-D
The 4-digit year followed by 'W', the 2-digit week number (00-53), and the day of the week (1-7). The day of week number is optional.
YYYYWwwD
The 4-digit year followed by 'W', the 2-digit week number (00-53), and the day of the week (1-7). The day of week number is optional.
YYYY-DDD
The 4-digit year followed by the 3-digit day of the year (000-365)
YYYYDDD
The 4-digit year followed by the 3-digit day of the year (000-365)

The timepart consists of one of the following forms that contain the 2-digit hour (00-24), the 2-digit minutes (00-59), the 2-digit seconds (00-59), and the 1-to-3 digit milliseconds. The minutes, seconds and milliseconds are optional, but any component is required if it is followed by another component (e.g., minutes are required if the seconds are given).

hh:mm:ss.SSS
hhmmssSSS

followed by one of the following time zone definitions:

Z
The uppercase or lowercase 'Z' to denote UTC time
±hh:mm
The 2-digit hour and the 2-digit minute offset from UTC
±hhmm
The 2-digit hour and the 2-digit minute offset from UTC
±hh
The 2-digit hour offset from UTC
hh:mm
The 2-digit hour and the 2-digit minute offset from UTC
hhmm
The 2-digit hour and the 2-digit minute offset from UTC
hh
The 2-digit hour offset from UTC

Parameters:
dateString - the string containing the date to be parsed
Returns:
the parsed date as a Calendar object.
Throws:
ParseException - if there is a problem parsing the string

getDateFromStandardString

public static Date getDateFromStandardString(String dateString)
                                      throws ParseException
Parse the date contained in the supplied string. This method simply calls Calendar.getTime() on the result of getCalendarFromStandardString(String).

Parameters:
dateString - the string containing the date to be parsed
Returns:
the parsed date as a Calendar object.
Throws:
ParseException - if there is a problem parsing the string
See Also:
getCalendarFromStandardString(String)

getDateAsStandardString

public static String getDateAsStandardString(long millisecondsSinceEpoch)
Obtain an ISO 8601:2004 string representation of the date given the supplied milliseconds since the epoch.

Parameters:
millisecondsSinceEpoch - the milliseconds for the date
Returns:
the string in the standard format
See Also:
getDateAsStandardString(Date), getDateFromStandardString(String), getCalendarFromStandardString(String)

getDateAsStandardString

public static String getDateAsStandardString(Calendar date)
Obtain an ISO 8601:2004 string representation of the date given the supplied milliseconds since the epoch.

Parameters:
date - the date in calendar form
Returns:
the string in the standard format
See Also:
getDateAsStandardString(Date), getDateFromStandardString(String), getCalendarFromStandardString(String)

getDateAsStandardString

public static String getDateAsStandardString(Date date)
Obtain an ISO 8601:2004 string representation of the supplied date.

Parameters:
date - the date
Returns:
the string in the standard format
See Also:
getDateAsStandardString(long), getDateFromStandardString(String), getCalendarFromStandardString(String)

getDateAsStringForCurrentLocale

public static String getDateAsStringForCurrentLocale(Date date)

getDateAsStringForLocale

public static String getDateAsStringForLocale(Date date,
                                              Locale locale)


Copyright © 2008-Present JBoss a division of Red Hat. All Rights Reserved.