|
|||||||||
| Home >> All >> org >> joda >> time >> [ format overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
org.joda.time.format
Class DateTimeFormat

java.lang.Objectorg.joda.time.format.DateTimeFormat
- public class DateTimeFormat
- extends java.lang.Object
Factory that creates instances of DateTimeFormatter from patterns and styles.
Datetime formatting is performed by the DateTimeFormatter class. Three classes provide factory methods to create formatters, and this is one. The others are ISODateTimeFormat and DateTimeFormatterBuilder.
This class provides two types of factory:
- Pattern 55 provides a DateTimeFormatter based on a pattern string that is compatible with the JDK date patterns.
- Style 55 provides a DateTimeFormatter based on a two character style, representing short, medium, long and full.
For example, to use a patterm:
DateTime dt = new DateTime();
DateTimeFormatter fmt = DateTimeFormat.forPattern("MMMM, yyyy");
String str = fmt.print(dt);
The pattern syntax is compatible with java.text.SimpleDateFormat, but a few
more symbols are also supported. All ASCII letters are reserved as pattern
letters, which are defined as the following:
The count of pattern letters determine the format.Symbol Meaning Presentation Examples ------ ------- ------------ ------- G era text AD C century of era (>=0) number 20 Y year of era (>=0) year 1996 x weekyear year 1996 w week of weekyear number 27 e day of week number 2 E day of week text Tuesday; Tue y year year 1996 D day of year number 189 M month of year month July; Jul; 07 d day of month number 10 a halfday of day text PM K hour of halfday (0~11) number 0 h clockhour of halfday (1~12) number 12 H hour of day (0~23) number 0 k clockhour of day (1~24) number 24 m minute of hour number 30 s second of minute number 55 S fraction of second number 978 z time zone text Pacific Standard Time; PST Z time zone offset/id zone -0800; -08:00; Asia/Tokyo ' escape for text delimiter '' single quote literal '
Text: If the number of pattern letters is 4 or more, the full form is used; otherwise a short or abbreviated form is used if available.
Number: The minimum number of digits. Shorter numbers are zero-padded to this amount.
Year: Numeric presentation for year and weekyear fields are handled specially. For example, if the count of 'y' is 2, the year will be displayed as the zero-based year of the century, which is two digits.
Month: 3 or over, use text, otherwise use number.
Zone: 'Z' outputs offset without a colon, 'ZZ' outputs the offset with a colon, 'ZZZ' or more outputs the zone id.
Any characters in the pattern that are not in the ranges of ['a'..'z'] and ['A'..'Z'] will be treated as quoted text. For instance, characters like ':', '.', ' ', '#' and '?' will appear in the resulting time text even they are not embraced within single quotes.
DateTimeFormat is thread-safe and immutable, and the formatters it returns are as well.
- Since:
- 1.0
| Nested Class Summary | |
(package private) static class |
DateTimeFormat.StyleFormatter
|
| Field Summary | |
private static java.util.Map |
cPatternedCache
Maps patterns to formatters, patterns don't vary by locale. |
private static DateTimeFormatter[] |
cStyleCache
Maps patterns to formatters, patterns don't vary by locale. |
(package private) static int |
DATE
Type constant for DATE only. |
(package private) static int |
DATETIME
Type constant for DATETIME. |
(package private) static int |
FULL
Style constant for FULL. |
(package private) static int |
LONG
Style constant for LONG. |
(package private) static int |
MEDIUM
Style constant for MEDIUM. |
(package private) static int |
NONE
Style constant for NONE. |
(package private) static int |
SHORT
Style constant for SHORT. |
(package private) static int |
TIME
Type constant for TIME only. |
| Constructor Summary | |
protected |
DateTimeFormat()
Constructor. |
| Method Summary | |
(package private) static void |
appendPatternTo(DateTimeFormatterBuilder builder,
java.lang.String pattern)
Parses the given pattern and appends the rules to the given DateTimeFormatterBuilder. |
private static DateTimeFormatter |
createFormatterForPattern(java.lang.String pattern)
Select a format from a custom pattern. |
private static DateTimeFormatter |
createFormatterForStyle(java.lang.String style)
Select a format from a two character style pattern. |
private static DateTimeFormatter |
createFormatterForStyleIndex(int dateStyle,
int timeStyle)
Gets the formatter for the specified style. |
static DateTimeFormatter |
forPattern(java.lang.String pattern)
Factory to create a formatter from a pattern string. |
static DateTimeFormatter |
forStyle(java.lang.String style)
Factory to create a format from a two character style pattern. |
static DateTimeFormatter |
fullDate()
Creates a format that outputs a full date format. |
static DateTimeFormatter |
fullDateTime()
Creates a format that outputs a full datetime format. |
static DateTimeFormatter |
fullTime()
Creates a format that outputs a full time format. |
private static boolean |
isNumericToken(java.lang.String token)
Returns true if token should be parsed as a numeric field. |
static DateTimeFormatter |
longDate()
Creates a format that outputs a long date format. |
static DateTimeFormatter |
longDateTime()
Creates a format that outputs a long datetime format. |
static DateTimeFormatter |
longTime()
Creates a format that outputs a long time format. |
static DateTimeFormatter |
mediumDate()
Creates a format that outputs a medium date format. |
static DateTimeFormatter |
mediumDateTime()
Creates a format that outputs a medium datetime format. |
static DateTimeFormatter |
mediumTime()
Creates a format that outputs a medium time format. |
private static void |
parsePatternTo(DateTimeFormatterBuilder builder,
java.lang.String pattern)
Parses the given pattern and appends the rules to the given DateTimeFormatterBuilder. |
private static java.lang.String |
parseToken(java.lang.String pattern,
int[] indexRef)
Parses an individual token. |
private static int |
selectStyle(char ch)
Gets the JDK style code from the Joda code. |
static DateTimeFormatter |
shortDate()
Creates a format that outputs a short date format. |
static DateTimeFormatter |
shortDateTime()
Creates a format that outputs a short datetime format. |
static DateTimeFormatter |
shortTime()
Creates a format that outputs a short time format. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
FULL
static final int FULL
- Style constant for FULL.
- See Also:
- Constant Field Values
LONG
static final int LONG
- Style constant for LONG.
- See Also:
- Constant Field Values
MEDIUM
static final int MEDIUM
- Style constant for MEDIUM.
- See Also:
- Constant Field Values
SHORT
static final int SHORT
- Style constant for SHORT.
- See Also:
- Constant Field Values
NONE
static final int NONE
- Style constant for NONE.
- See Also:
- Constant Field Values
DATE
static final int DATE
- Type constant for DATE only.
- See Also:
- Constant Field Values
TIME
static final int TIME
- Type constant for TIME only.
- See Also:
- Constant Field Values
DATETIME
static final int DATETIME
- Type constant for DATETIME.
- See Also:
- Constant Field Values
cPatternedCache
private static final java.util.Map cPatternedCache
- Maps patterns to formatters, patterns don't vary by locale.
cStyleCache
private static final DateTimeFormatter[] cStyleCache
- Maps patterns to formatters, patterns don't vary by locale.
| Constructor Detail |
DateTimeFormat
protected DateTimeFormat()
- Constructor.
- Since:
- 1.1 (previously private)
| Method Detail |
forPattern
public static DateTimeFormatter forPattern(java.lang.String pattern)
- Factory to create a formatter from a pattern string.
The pattern string is described above, and is similar to SimpleDateFormat.
The format may contain locale specific output, and this will change as you change the locale of the formatter. Call
DateTimeFormatter.withLocale(Locale)55 to switch the locale. For example:DateTimeFormat.forPattern(pattern).withLocale(Locale.FRANCE).print(dt);
forStyle
public static DateTimeFormatter forStyle(java.lang.String style)
- Factory to create a format from a two character style pattern.
The first character is the date style, and the second character is the time style. Specify a character of 'S' for short style, 'M' for medium, 'L' for long, and 'F' for full. A date or time may be ommitted by specifying a style character '-'.
The returned formatter will dynamically adjust to the locale that the print/parse takes place in. Thus you just call
DateTimeFormatter.withLocale(Locale)55 and the Short/Medium/Long/Full style for that locale will be output. For example:DateTimeFormat.forStyle(style).withLocale(Locale.FRANCE).print(dt);
shortDate
public static DateTimeFormatter shortDate()
- Creates a format that outputs a short date format.
The format will change as you change the locale of the formatter. Call
DateTimeFormatter.withLocale(Locale)55 to switch the locale.
shortTime
public static DateTimeFormatter shortTime()
- Creates a format that outputs a short time format.
The format will change as you change the locale of the formatter. Call
DateTimeFormatter.withLocale(Locale)55 to switch the locale.
shortDateTime
public static DateTimeFormatter shortDateTime()
- Creates a format that outputs a short datetime format.
The format will change as you change the locale of the formatter. Call
DateTimeFormatter.withLocale(Locale)55 to switch the locale.
mediumDate
public static DateTimeFormatter mediumDate()
- Creates a format that outputs a medium date format.
The format will change as you change the locale of the formatter. Call
DateTimeFormatter.withLocale(Locale)55 to switch the locale.
mediumTime
public static DateTimeFormatter mediumTime()
- Creates a format that outputs a medium time format.
The format will change as you change the locale of the formatter. Call
DateTimeFormatter.withLocale(Locale)55 to switch the locale.
mediumDateTime
public static DateTimeFormatter mediumDateTime()
- Creates a format that outputs a medium datetime format.
The format will change as you change the locale of the formatter. Call
DateTimeFormatter.withLocale(Locale)55 to switch the locale.
longDate
public static DateTimeFormatter longDate()
- Creates a format that outputs a long date format.
The format will change as you change the locale of the formatter. Call
DateTimeFormatter.withLocale(Locale)55 to switch the locale.
longTime
public static DateTimeFormatter longTime()
- Creates a format that outputs a long time format.
The format will change as you change the locale of the formatter. Call
DateTimeFormatter.withLocale(Locale)55 to switch the locale.
longDateTime
public static DateTimeFormatter longDateTime()
- Creates a format that outputs a long datetime format.
The format will change as you change the locale of the formatter. Call
DateTimeFormatter.withLocale(Locale)55 to switch the locale.
fullDate
public static DateTimeFormatter fullDate()
- Creates a format that outputs a full date format.
The format will change as you change the locale of the formatter. Call
DateTimeFormatter.withLocale(Locale)55 to switch the locale.
fullTime
public static DateTimeFormatter fullTime()
- Creates a format that outputs a full time format.
The format will change as you change the locale of the formatter. Call
DateTimeFormatter.withLocale(Locale)55 to switch the locale.
fullDateTime
public static DateTimeFormatter fullDateTime()
- Creates a format that outputs a full datetime format.
The format will change as you change the locale of the formatter. Call
DateTimeFormatter.withLocale(Locale)55 to switch the locale.
appendPatternTo
static void appendPatternTo(DateTimeFormatterBuilder builder, java.lang.String pattern)
- Parses the given pattern and appends the rules to the given
DateTimeFormatterBuilder.
parsePatternTo
private static void parsePatternTo(DateTimeFormatterBuilder builder, java.lang.String pattern)
- Parses the given pattern and appends the rules to the given
DateTimeFormatterBuilder.
parseToken
private static java.lang.String parseToken(java.lang.String pattern, int[] indexRef)
- Parses an individual token.
isNumericToken
private static boolean isNumericToken(java.lang.String token)
- Returns true if token should be parsed as a numeric field.
createFormatterForPattern
private static DateTimeFormatter createFormatterForPattern(java.lang.String pattern)
- Select a format from a custom pattern.
createFormatterForStyle
private static DateTimeFormatter createFormatterForStyle(java.lang.String style)
- Select a format from a two character style pattern. The first character
is the date style, and the second character is the time style. Specify a
character of 'S' for short style, 'M' for medium, 'L' for long, and 'F'
for full. A date or time may be ommitted by specifying a style character '-'.
createFormatterForStyleIndex
private static DateTimeFormatter createFormatterForStyleIndex(int dateStyle, int timeStyle)
- Gets the formatter for the specified style.
selectStyle
private static int selectStyle(char ch)
- Gets the JDK style code from the Joda code.
|
|||||||||
| Home >> All >> org >> joda >> time >> [ format overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
JAVADOC
org.joda.time.format.DateTimeFormat