org.apache.commons.httpclient.util

Class DateUtil

public class DateUtil extends Object

A utility class for parsing and formatting HTTP dates as used in cookies and other headers. This class handles dates as defined by RFC 2616 section 3.3.1 as well as some other common non-standard formats.

Author: Christopher Brown Michael Becke

Field Summary
static StringPATTERN_ASCTIME
Date format pattern used to parse HTTP date headers in ANSI C asctime() format.
static StringPATTERN_RFC1036
Date format pattern used to parse HTTP date headers in RFC 1036 format.
static StringPATTERN_RFC1123
Date format pattern used to parse HTTP date headers in RFC 1123 format.
Method Summary
static StringformatDate(Date date)
Formats the given date according to the RFC 1123 pattern.
static StringformatDate(Date date, String pattern)
Formats the given date according to the specified pattern.
static DateparseDate(String dateValue)
Parses a date value.
static DateparseDate(String dateValue, Collection dateFormats)
Parses the date value using the given date formats.
static DateparseDate(String dateValue, Collection dateFormats, Date startDate)
Parses the date value using the given date formats.

Field Detail

PATTERN_ASCTIME

public static final String PATTERN_ASCTIME
Date format pattern used to parse HTTP date headers in ANSI C asctime() format.

PATTERN_RFC1036

public static final String PATTERN_RFC1036
Date format pattern used to parse HTTP date headers in RFC 1036 format.

PATTERN_RFC1123

public static final String PATTERN_RFC1123
Date format pattern used to parse HTTP date headers in RFC 1123 format.

Method Detail

formatDate

public static String formatDate(Date date)
Formats the given date according to the RFC 1123 pattern.

Parameters: date The date to format.

Returns: An RFC 1123 formatted date string.

See Also: PATTERN_RFC1123

formatDate

public static String formatDate(Date date, String pattern)
Formats the given date according to the specified pattern. The pattern must conform to that used by the SimpleDateFormat simple date format class.

Parameters: date The date to format. pattern The pattern to use for formatting the date.

Returns: A formatted date string.

Throws: IllegalArgumentException If the given date pattern is invalid.

See Also: SimpleDateFormat

parseDate

public static Date parseDate(String dateValue)
Parses a date value. The formats used for parsing the date value are retrieved from the default http params.

Parameters: dateValue the date value to parse

Returns: the parsed date

Throws: DateParseException if the value could not be parsed using any of the supported date formats

parseDate

public static Date parseDate(String dateValue, Collection dateFormats)
Parses the date value using the given date formats.

Parameters: dateValue the date value to parse dateFormats the date formats to use

Returns: the parsed date

Throws: DateParseException if none of the dataFormats could parse the dateValue

parseDate

public static Date parseDate(String dateValue, Collection dateFormats, Date startDate)
Parses the date value using the given date formats.

Parameters: dateValue the date value to parse dateFormats the date formats to use startDate During parsing, two digit years will be placed in the range startDate to startDate + 100 years. This value may be null. When null is given as a parameter, year 2000 will be used.

Returns: the parsed date

Throws: DateParseException if none of the dataFormats could parse the dateValue

Copyright (c) 1999-2005 - Apache Software Foundation