deegree 2.3 (2010/04/09 10:10 build-4-official)

org.deegree.framework.util
Class DateUtil

java.lang.Object
  extended by org.deegree.framework.util.DateUtil

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
           
static String ISO_8601_2004_FORMAT_UTC
           
static String JDBC_TIMESTAMP_FORMAT
           
 
Method Summary
static String formatISO8601Date(Calendar date)
          Obtain an ISO 8601:2004 string representation of the date given the supplied milliseconds since the epoch.
static String formatISO8601Date(Date date)
          Obtain an ISO 8601:2004 string representation of the supplied date.
static String formatJDBCTimeStamp(Date date)
          Obtain an JDBC timestamp string representation of the supplied date.
static String formatLocaleDate(Date date)
          Return a string representation of the supplied date with the current default locale.
static String formatLocaleDate(Date date, Locale locale)
          Return a string representation of the supplied date with the supplied locale.
static Calendar parseISO8601Date(String dateString)
          Parse the date contained in the supplied string and return a UTC Calendar object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, 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

ISO_8601_2004_FORMAT_UTC

public static final String ISO_8601_2004_FORMAT_UTC
See Also:
Constant Field Values

JDBC_TIMESTAMP_FORMAT

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

parseISO8601Date

public static Calendar parseISO8601Date(String dateString)
                                 throws ParseException
Parse the date contained in the supplied string and return a UTC Calendar object. 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. The return value is always in UTC time zone. Conversion occurs when necessary.
Throws:
ParseException - if there is a problem parsing the string

formatISO8601Date

public static String formatISO8601Date(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

formatISO8601Date

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

Parameters:
date - the date
Returns:
the string in the standard format

formatJDBCTimeStamp

public static String formatJDBCTimeStamp(Date date)
Obtain an JDBC timestamp string representation of the supplied date.

Parameters:
date - the date
Returns:
the string in the JDBC timestamp format

formatLocaleDate

public static String formatLocaleDate(Date date)
Return a string representation of the supplied date with the current default locale.

Parameters:
date -
Returns:
the string in locale format

formatLocaleDate

public static String formatLocaleDate(Date date,
                                      Locale locale)
Return a string representation of the supplied date with the supplied locale.

Parameters:
date -
locale -
Returns:
the string in locale format

deegree 2.3 (2010/04/09 10:10 build-4-official)

an open source project founded by lat/lon, Bonn, Germany.
For more information visit: http://www.deegree.org