Package org.apache.http.client.utils
Class DateUtils
- java.lang.Object
-
- 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
Fields Modifier and Type Field Description static TimeZone
GMT
static String
PATTERN_ASCTIME
Date format pattern used to parse HTTP date headers in ANSI Casctime()
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
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
clearThreadLocal()
Clears thread-local variable containingDateFormat
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.
-
-
-
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 Casctime()
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 parsedateFormats
- 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 parsedateFormats
- the date formats to usestartDate
- During parsing, two digit years will be placed in the rangestartDate
tostartDate + 100 years
. This value may benull
. Whennull
is given as a parameter, year2000
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 thesimple 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 containingDateFormat
cache.- Since:
- 4.3
-
-