Top Description Fields Constructors Methods
io.netty.handler.codec

public final Class DateFormatter

extends Object
Class Inheritance
Static Imports
io.netty.util.internal.ObjectUtil.checkNotNull

A formatter for HTTP header dates, such as "Expires" and "Date" headers, or "expires" field in "Set-Cookie". On the parsing side, it honors RFC6265 (so it supports RFC1123). Note that: If you're looking for a date format that validates day of week, or supports other timezones, consider using java.util.DateTimeFormatter.RFC_1123_DATE_TIME. On the formatting side, it uses a subset of RFC1123 (2 digit day-of-month and 4 digit year) as per RFC2616. This subset supports RFC6265.
See Also
RFC6265 for the parsing side, RFC1123 and RFC2616 for the encoding side.

Field Summary

Modifier and TypeField and Description
private final GregorianCalendar
private static final String[]
private static final String[]
private int
private boolean
private static final BitSet
private int
private static final FastThreadLocal<DateFormatter>
private int
private int
private boolean
private final StringBuilder
private int
private boolean
private int
private boolean

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public static StringBuilder

Returns:

the same StringBuilder
append
(Date
the date to format
date
,
StringBuilder
the StringBuilder
sb
)

Append a Date to a StringBuilder into RFC1123 format

private StringBuilder
private static StringBuilder
private Date
public static String

Returns:

a RFC1123 string
format
(Date
the date to format
date
)

Format a Date into RFC1123 format

private String
format0(Date date)

private static DateFormatter
private static int
private static boolean
isDelim(char c)

private static boolean
isDigit(char c)

private boolean
private Date
parse0(CharSequence txt, int start, int end)

private boolean
parse1(CharSequence txt, int start, int end)

public static Date

Returns:

a Date, or null if text couldn't be parsed
parseHttpDate
(CharSequence
text to parse
txt
)

Parse some text into a Date, according to RFC6265

public static Date

Returns:

a Date, or null if text couldn't be parsed
parseHttpDate
(CharSequence
text to parse
txt
,
int
the start index inside txt
start
,
int
the end index inside txt
end
)

Parse some text into a Date, according to RFC6265

private boolean
parseToken(CharSequence txt, int tokenStart, int tokenEnd)

public void
private boolean
tryParseDayOfMonth(CharSequence txt, int tokenStart, int tokenEnd)

private boolean
tryParseMonth(CharSequence txt, int tokenStart, int tokenEnd)

private boolean
tryParseTime(CharSequence txt, int tokenStart, int tokenEnd)

private boolean
tryParseYear(CharSequence txt, int tokenStart, int tokenEnd)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

calback to summary
private final GregorianCalendar cal
CALENDAR_MONTH_TO_SHORT_NAMEback to summary
private static final String[] CALENDAR_MONTH_TO_SHORT_NAME
DAY_OF_WEEK_TO_SHORT_NAMEback to summary
private static final String[] DAY_OF_WEEK_TO_SHORT_NAME
dayOfMonthback to summary
private int dayOfMonth
dayOfMonthFoundback to summary
private boolean dayOfMonthFound
DELIMITERSback to summary
private static final BitSet DELIMITERS
hoursback to summary
private int hours
INSTANCESback to summary
private static final FastThreadLocal<DateFormatter> INSTANCES
minutesback to summary
private int minutes
monthback to summary
private int month
monthFoundback to summary
private boolean monthFound
sbback to summary
private final StringBuilder sb
secondsback to summary
private int seconds
timeFoundback to summary
private boolean timeFound
yearback to summary
private int year
yearFoundback to summary
private boolean yearFound

Constructor Detail

DateFormatterback to summary
private DateFormatter()

Method Detail

appendback to summary
public static StringBuilder append(Date date, StringBuilder sb)

Append a Date to a StringBuilder into RFC1123 format

Parameters
date:Date

the date to format

sb:StringBuilder

the StringBuilder

Returns:StringBuilder

the same StringBuilder

append0back to summary
private StringBuilder append0(Date date, StringBuilder sb)
appendZeroLeftPaddedback to summary
private static StringBuilder appendZeroLeftPadded(int value, StringBuilder sb)
computeDateback to summary
private Date computeDate()
formatback to summary
public static String format(Date date)

Format a Date into RFC1123 format

Parameters
date:Date

the date to format

Returns:String

a RFC1123 string

format0back to summary
private String format0(Date date)
formatterback to summary
private static DateFormatter formatter()
getNumericalValueback to summary
private static int getNumericalValue(char c)
isDelimback to summary
private static boolean isDelim(char c)
isDigitback to summary
private static boolean isDigit(char c)
normalizeAndValidateback to summary
private boolean normalizeAndValidate()
parse0back to summary
private Date parse0(CharSequence txt, int start, int end)
parse1back to summary
private boolean parse1(CharSequence txt, int start, int end)
parseHttpDateback to summary
public static Date parseHttpDate(CharSequence txt)

Parse some text into a Date, according to RFC6265

Parameters
txt:CharSequence

text to parse

Returns:Date

a Date, or null if text couldn't be parsed

parseHttpDateback to summary
public static Date parseHttpDate(CharSequence txt, int start, int end)

Parse some text into a Date, according to RFC6265

Parameters
txt:CharSequence

text to parse

start:int

the start index inside txt

end:int

the end index inside txt

Returns:Date

a Date, or null if text couldn't be parsed

parseTokenback to summary
private boolean parseToken(CharSequence txt, int tokenStart, int tokenEnd)
resetback to summary
public void reset()
tryParseDayOfMonthback to summary
private boolean tryParseDayOfMonth(CharSequence txt, int tokenStart, int tokenEnd)
tryParseMonthback to summary
private boolean tryParseMonth(CharSequence txt, int tokenStart, int tokenEnd)
tryParseTimeback to summary
private boolean tryParseTime(CharSequence txt, int tokenStart, int tokenEnd)
tryParseYearback to summary
private boolean tryParseYear(CharSequence txt, int tokenStart, int tokenEnd)