Package org.apache.hc.client5.http.utils
Class DateUtils
java.lang.Object
org.apache.hc.client5.http.utils.DateUtils
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
FieldsModifier and TypeFieldDescriptionstatic final DateTimeFormatterDate formatter used to parse HTTP date headers in in ANSI Casctime()format.static final DateTimeFormatterDate formatter used to parse HTTP date headers in RFC 1036 format.static final DateTimeFormatterDate formatter used to parse HTTP date headers in RFC 1123 format.static final TimeZoneDeprecated.This attribute is no longer supported as a part of the public API.(package private) static final ZoneIdstatic final StringDate format pattern used to parse HTTP date headers in ANSI Casctime()format.static final StringDate format pattern used to parse HTTP date headers in RFC 1036 format.static final StringDate format pattern used to parse HTTP date headers in RFC 1123 format.static final DateTimeFormatter[] -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidDeprecated.Noop method.static StringformatDate(Instant instant, DateTimeFormatter dateTimeFormatter) Formats the given date according to the specified pattern.static StringformatDate(Date date) Deprecated.static StringformatDate(Date date, String pattern) Deprecated.static StringformatStandardDate(Instant instant) Formats the given instant according to the RFC 1123 pattern.static booleanisAfter(org.apache.hc.core5.http.MessageHeaders message1, org.apache.hc.core5.http.MessageHeaders message2, String headerName) Deprecated.This method is no longer supported as a part of the public API.static booleanisBefore(org.apache.hc.core5.http.MessageHeaders message1, org.apache.hc.core5.http.MessageHeaders message2, String headerName) Deprecated.This method is no longer supported as a part of the public API.static DateDeprecated.static DateDeprecated.static DateDeprecated.static InstantparseDate(String dateValue, DateTimeFormatter... dateFormatters) Parses the date value using the given date/time formats.static DateDeprecated.static InstantparseStandardDate(String dateValue) Parses the instant value using the standard date/time formats (PATTERN_RFC1123,PATTERN_RFC1036,PATTERN_ASCTIME).static InstantparseStandardDate(org.apache.hc.core5.http.MessageHeaders headers, String headerName) Parses an instant value from a header with the given name.static Datestatic Instantstatic LocalDateTimestatic LocalDateTime
-
Field Details
-
PATTERN_RFC1123
Date format pattern used to parse HTTP date headers in RFC 1123 format.- See Also:
-
FORMATTER_RFC1123
Date formatter used to parse HTTP date headers in RFC 1123 format.- Since:
- 5.2
-
PATTERN_RFC1036
Date format pattern used to parse HTTP date headers in RFC 1036 format.- See Also:
-
FORMATTER_RFC1036
Date formatter used to parse HTTP date headers in RFC 1036 format.- Since:
- 5.2
-
PATTERN_ASCTIME
Date format pattern used to parse HTTP date headers in ANSI Casctime()format.- See Also:
-
FORMATTER_ASCTIME
Date formatter used to parse HTTP date headers in in ANSI Casctime()format.- Since:
- 5.2
-
STANDARD_PATTERNS
- Since:
- 5.2
-
GMT_ID
-
GMT
Deprecated.This attribute is no longer supported as a part of the public API.
-
-
Constructor Details
-
DateUtils
private DateUtils()This class should not be instantiated.
-
-
Method Details
-
toDate
- Since:
- 5.2
-
toInstant
- Since:
- 5.2
-
toUTC
- Since:
- 5.2
-
toUTC
- Since:
- 5.2
-
parseDate
Parses the date value using the given date/time formats.- Parameters:
dateValue- the instant value to parsedateFormatters- the date/time formats to use- Returns:
- the parsed instant or null if input could not be parsed
- Since:
- 5.2
-
parseStandardDate
Parses the instant value using the standard date/time formats (PATTERN_RFC1123,PATTERN_RFC1036,PATTERN_ASCTIME).- Parameters:
dateValue- the instant value to parse- Returns:
- the parsed instant or null if input could not be parsed
- Since:
- 5.2
-
parseStandardDate
public static Instant parseStandardDate(org.apache.hc.core5.http.MessageHeaders headers, String headerName) Parses an instant value from a header with the given name.- Parameters:
headers- message headersheaderName- header name- Returns:
- the parsed instant or null if input could not be parsed
- Since:
- 5.2
-
formatStandardDate
Formats the given instant according to the RFC 1123 pattern.- Parameters:
instant- Instant to format.- Returns:
- An RFC 1123 formatted instant string.
- Since:
- 5.2
- See Also:
-
formatDate
Formats the given date according to the specified pattern.- Parameters:
instant- Instant to format.dateTimeFormatter- The pattern to use for formatting the instant.- Returns:
- A formatted instant string.
- Throws:
IllegalArgumentException- If the given date pattern is invalid.- Since:
- 5.2
-
parseDate
Deprecated.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
@Deprecated public static Date parseDate(org.apache.hc.core5.http.MessageHeaders headers, String headerName) Deprecated.Parses a date value from a header with the given name.- Parameters:
headers- message headersheaderName- header name- Returns:
- the parsed date or null if input could not be parsed
- Since:
- 5.0
-
isAfter
@Deprecated public static boolean isAfter(org.apache.hc.core5.http.MessageHeaders message1, org.apache.hc.core5.http.MessageHeaders message2, String headerName) Deprecated.This method is no longer supported as a part of the public API.Tests if the first message is after (newer) than second one using the given message header for comparison.- Parameters:
message1- the first messagemessage2- the second messageheaderName- header name- Returns:
trueif both messages contain a header with the given name and the value of the header from the first message is newer that of the second message.- Since:
- 5.0
-
isBefore
@Deprecated public static boolean isBefore(org.apache.hc.core5.http.MessageHeaders message1, org.apache.hc.core5.http.MessageHeaders message2, String headerName) Deprecated.This method is no longer supported as a part of the public API.Tests if the first message is before (older) than the second one using the given message header for comparison.- Parameters:
message1- the first messagemessage2- the second messageheaderName- header name- Returns:
trueif both messages contain a header with the given name and the value of the header from the first message is older that of the second message.- Since:
- 5.0
-
parseDate
Deprecated.Parses the date value using the given date/time formats.- Parameters:
dateValue- the date value to parsedateFormats- the date/time formats to use- Returns:
- the parsed date or null if input could not be parsed
-
parseDate
Deprecated.Parses the date value using the given date/time formats.- Parameters:
dateValue- the date value to parsedateFormats- the date/time formats to usestartDate- During parsing, two digit years will be placed in the rangestartDatetostartDate + 100 years. This value may benull. Whennullis given as a parameter, year2000will be used.- Returns:
- the parsed date or null if input could not be parsed
-
formatDate
Deprecated.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:
-
formatDate
Deprecated.Formats the given date according to the specified pattern.- 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.
-
clearThreadLocal
Deprecated.Noop method. Do not use.Clears thread-local variable containingDateFormatcache.- Since:
- 4.3
-