FastDatePrinter
- public class org.apache.commons.lang3.time.FastDatePrinter implements DatePrinter, Serializable[source]
FastDatePrinter is a fast and thread-safe version of
java.text.SimpleDateFormat.To obtain a FastDatePrinter, use
FastDateFormat#getInstance(String, TimeZone, Locale)or another variation of the factory methods ofFastDateFormat.Since FastDatePrinter is thread safe, you can use a static member instance:
private static final DatePrinter DATE_PRINTER = FastDateFormat.getInstance("yyyy-MM-dd");This class can be used as a direct replacement to
SimpleDateFormatin most formatting situations. This class is especially useful in multi-threaded server environments.SimpleDateFormatis not thread-safe in any JDK version, nor will it be as Sun have closed the bug/RFE.Only formatting is supported by this class, but all patterns are compatible with SimpleDateFormat (except time zones and some year patterns - see below).
Java 1.4 introduced a new pattern letter,
'Z', to represent time zones in RFC822 format (for example,+0800or-1100). This pattern letter can be used here (on all JDK versions).In addition, the pattern
'ZZ'has been made to represent ISO 8601 extended format time zones (for example,+08:00or-11:00). This introduces a minor incompatibility with Java 1.4, but at a gain of useful functionality.Starting with JDK7, ISO 8601 support was added using the pattern
'X'. To maintain compatibility,'ZZ'will continue to be supported, but using one of the'X'formats is recommended.Javadoc cites for the year pattern: For formatting, if the number of pattern letters is 2, the year is truncated to 2 digits; otherwise it is interpreted as a number. Starting with Java 1.7 a pattern of ‘Y’ or ‘YYY’ will be formatted as ‘2003’, while it was ‘03’ in former Java versions. FastDatePrinter implements the behavior of Java 7.
- Since:
3.2
- See also:
Constructors
Constructs a new FastDatePrinter. |
- protected FastDatePrinter(String pattern, TimeZone timeZone, Locale locale)[source]
Constructs a new FastDatePrinter. Use
FastDateFormat#getInstance(String, TimeZone, Locale)or another variation of the factory methods ofFastDateFormatto get a cached FastDatePrinter instance.- Parameters:
pattern –
java.text.SimpleDateFormatcompatible pattern.timeZone – non-null time zone to use.
locale – non-null locale to use.
- Throws:
java.lang.NullPointerException – Thrown if pattern, timeZone, or locale is null.
Fields and constants
FULL locale dependent date or time style. |
|
LONG locale dependent date or time style. |
|
MEDIUM locale dependent date or time style. |
|
SHORT locale dependent date or time style. |
Methods
Deprecated. Performs the formatting by applying the rules to the specified calendar. |
|
Compares two objects for equality. |
|
Deprecated. Formats a |
|
Formats a |
|
Formats a |
|
Formats a |
|
Formats a |
|
Formats a |
|
Formats a |
|
Formats a millisecond |
|
Formats a millisecond |
|
Formats a millisecond |
|
Gets the locale used by this printer. |
|
Gets an estimate for the maximum string length that the formatter will produce. |
|
Gets the pattern used by this printer. |
|
Gets the time zone used by this printer. |
|
Returns a hash code compatible with equals. |
|
Returns a list of Rules given a pattern. |
|
Performs the parsing of tokens. |
|
Gets an appropriate rule for the padding required. |
|
Gets a debugging string version of this formatter. |
- @Deprecated protected StringBuffer applyRules(Calendar calendar, StringBuffer buf)[source]
Deprecated: Use
#format(Calendar)or#format(Calendar, Appendable)Performs the formatting by applying the rules to the specified calendar.
- Parameters:
calendar – The calendar to format.
buf – The buffer to format into.
- Returns:
The specified string buffer.
- @Override public boolean equals(Object obj)[source]
Compares two objects for equality.
- Parameters:
obj – The object to compare to.
- Returns:
trueif equal.
- @Deprecated @Override public StringBuffer format(Object obj, StringBuffer toAppendTo, FieldPosition pos)[source]
Deprecated: Use {
#format(Date), {#format(Calendar), {#format(long).Formats a
Date,CalendarorLong(milliseconds) object.- Parameters:
obj – The object to format.
toAppendTo – The buffer to append to.
pos – The position; ignored.
- Returns:
The buffer passed in.
- @Override public String format(Calendar calendar)[source]
Formats a
Calendarobject. The TimeZone set on the Calendar is only used to adjust the time offset. The TimeZone specified during the construction of the Parser will determine the TimeZone used in the formatted string.- Parameters:
calendar – The calendar to format.
- Returns:
The formatted string.
- @Override public <B extends Appendable> B format(Calendar calendar, B buf)[source]
Formats a
Calendarobject into the suppliedAppendable. The TimeZone set on the Calendar is only used to adjust the time offset. The TimeZone specified during the construction of the Parser will determine the TimeZone used in the formatted string.- Parameters:
calendar – The calendar to format.
buf – The buffer to format into.
- Type parameters:
<B> – The Appendable class type, usually StringBuilder or StringBuffer.
- Returns:
The specified string buffer.
- @Override public StringBuffer format(Calendar calendar, StringBuffer buf)[source]
Formats a
Calendarobject into the suppliedStringBuffer. The TimeZone set on the Calendar is only used to adjust the time offset. The TimeZone specified during the construction of the Parser will determine the TimeZone used in the formatted string.- Parameters:
calendar – The calendar to format.
buf – The buffer to format into.
- Returns:
The specified string buffer.
- @Override public String format(Date date)[source]
Formats a
Dateobject using aGregorianCalendar.- Parameters:
date – The date to format
- Returns:
The formatted string
- @Override public <B extends Appendable> B format(Date date, B buf)[source]
Formats a
Dateobject into the suppliedAppendableusing aGregorianCalendar.- Parameters:
date – The date to format.
buf – The buffer to format into.
- Type parameters:
<B> – The Appendable class type, usually StringBuilder or StringBuffer.
- Returns:
The specified string buffer.
- @Override public StringBuffer format(Date date, StringBuffer buf)[source]
Formats a
Dateobject into the suppliedStringBufferusing aGregorianCalendar.- Parameters:
date – The date to format.
buf – The buffer to format into.
- Returns:
The specified string buffer.
- @Override public String format(long millis)[source]
Formats a millisecond
longvalue.- Parameters:
millis – The millisecond value to format.
- Returns:
The formatted string.
- @Override public <B extends Appendable> B format(long millis, B buf)[source]
Formats a millisecond
longvalue into the suppliedAppendable.- Parameters:
millis – The millisecond value to format.
buf – The buffer to format into.
- Type parameters:
<B> – The Appendable class type, usually StringBuilder or StringBuffer.
- Returns:
The specified string buffer.
- @Override public StringBuffer format(long millis, StringBuffer buf)[source]
Formats a millisecond
longvalue into the suppliedStringBuffer.- Parameters:
millis – The millisecond value to format.
buf – The buffer to format into.
- Returns:
The specified string buffer.
- @Override public Locale getLocale()[source]
Gets the locale used by this printer.
- Returns:
The locale.
- public int getMaxLengthEstimate()[source]
Gets an estimate for the maximum string length that the formatter will produce.
The actual formatted length will almost always be less than or equal to this amount.
- Returns:
The maximum formatted length.
- @Override public String getPattern()[source]
Gets the pattern used by this printer.
- Returns:
The pattern,
java.text.SimpleDateFormatcompatible.
- @Override public TimeZone getTimeZone()[source]
Gets the time zone used by this printer.
This zone is always used for
Dateprinting.- Returns:
The time zone.
- @Override public int hashCode()[source]
Returns a hash code compatible with equals.
- Returns:
A hash code compatible with equals.
- protected List<FastDatePrinter.Rule> parsePattern()[source]
Returns a list of Rules given a pattern.
- Returns:
A
Listof Rule objects.- Throws:
java.lang.IllegalArgumentException – Thrown if pattern is invalid.
- protected String parseToken(String pattern, int[] indexRef)[source]
Performs the parsing of tokens.
- Parameters:
pattern – The pattern.
indexRef – index references.
- Returns:
parsed token.