org.apache.http.client.utils
Class DateUtils

java.lang.Object
  extended by org.apache.http.client.utils.DateUtils

public final class DateUtils
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.

Since:
4.3

Field Summary
static TimeZone GMT
           
static String PATTERN_ASCTIME
          Date format pattern used to parse HTTP date headers in ANSI C asctime() format.
static String PATTERN_RFC1036
          Date format pattern used to parse HTTP date headers in RFC 1036 format.
static String PATTERN_RFC1123
          Date format pattern used to parse HTTP date headers in RFC 1123 format.
 
Method Summary
static void clearThreadLocal()
          Clears thread-local variable containing DateFormat cache.
static String formatDate(Date date)
          Formats the given date according to the RFC 1123 pattern.
static String formatDate(Date date, String pattern)
          Formats the given date according to the specified pattern.
static Date parseDate(String dateValue)
          Parses a date value.
static Date parseDate(String dateValue, String[] dateFormats)
          Parses the date value using the given date formats.
static Date parseDate(String dateValue, String[] dateFormats, Date startDate)
          Parses the date value using the given date formats.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PATTERN_RFC1123

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

See Also:
Constant Field Values

PATTERN_RFC1036

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

See Also:
Constant Field Values

PATTERN_ASCTIME

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

See Also:
Constant Field Values

GMT

public static final TimeZone GMT
Method Detail

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 or null if input could not be parsed

parseDate

public static Date parseDate(String dateValue,
                             String[] 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 or null if input could not be parsed

parseDate

public static Date parseDate(String dateValue,
                             String[] 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 or null if input could not be parsed

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

clearThreadLocal

public static void clearThreadLocal()
Clears thread-local variable containing DateFormat cache.

Since:
4.3


Copyright © 1999–2019 The Apache Software Foundation. All rights reserved.