public class

DateTimeFormatterBuilder

extends Object
java.lang.Object
   ↳ org.joda.time.format.DateTimeFormatterBuilder

Class Overview

Factory that creates complex instances of DateTimeFormatter via method calls.

Datetime formatting is performed by the DateTimeFormatter class. Three classes provide factory methods to create formatters, and this is one. The others are DateTimeFormat and ISODateTimeFormat.

DateTimeFormatterBuilder is used for constructing formatters which are then used to print or parse. The formatters are built by appending specific fields or other formatters to an instance of this builder.

For example, a formatter that prints month and year, like "January 1970", can be constructed as follows:

 DateTimeFormatter monthAndYear = new DateTimeFormatterBuilder()
     .appendMonthOfYearText()
     .appendLiteral(' ')
     .appendYear(4, 4)
     .toFormatter();
 

DateTimeFormatterBuilder itself is mutable and not thread-safe, but the formatters that it builds are thread-safe and immutable.

Summary

Public Constructors
DateTimeFormatterBuilder()
Creates a DateTimeFormatterBuilder.
Public Methods
DateTimeFormatterBuilder append(DateTimePrinter printer, DateTimeParser[] parsers)
Appends a printer and a set of matching parsers.
DateTimeFormatterBuilder append(DateTimePrinter printer, DateTimeParser parser)
Appends a printer/parser pair.
DateTimeFormatterBuilder append(DateTimeFormatter formatter)
Appends another formatter.
DateTimeFormatterBuilder append(DateTimePrinter printer)
Appends just a printer.
DateTimeFormatterBuilder append(DateTimeParser parser)
Appends just a parser.
DateTimeFormatterBuilder appendCenturyOfEra(int minDigits, int maxDigits)
Instructs the printer to emit a numeric century of era field.
DateTimeFormatterBuilder appendClockhourOfDay(int minDigits)
Instructs the printer to emit a numeric clockhourOfDay field.
DateTimeFormatterBuilder appendClockhourOfHalfday(int minDigits)
Instructs the printer to emit a numeric clockhourOfHalfday field.
DateTimeFormatterBuilder appendDayOfMonth(int minDigits)
Instructs the printer to emit a numeric dayOfMonth field.
DateTimeFormatterBuilder appendDayOfWeek(int minDigits)
Instructs the printer to emit a numeric dayOfWeek field.
DateTimeFormatterBuilder appendDayOfWeekShortText()
Instructs the printer to emit a short locale-specific dayOfWeek text.
DateTimeFormatterBuilder appendDayOfWeekText()
Instructs the printer to emit a locale-specific dayOfWeek text.
DateTimeFormatterBuilder appendDayOfYear(int minDigits)
Instructs the printer to emit a numeric dayOfYear field.
DateTimeFormatterBuilder appendDecimal(DateTimeFieldType fieldType, int minDigits, int maxDigits)
Instructs the printer to emit a field value as a decimal number, and the parser to expect an unsigned decimal number.
DateTimeFormatterBuilder appendEraText()
Instructs the printer to emit a locale-specific era text (BC/AD), and the parser to expect it.
DateTimeFormatterBuilder appendFixedDecimal(DateTimeFieldType fieldType, int numDigits)
Instructs the printer to emit a field value as a fixed-width decimal number (smaller numbers will be left-padded with zeros), and the parser to expect an unsigned decimal number with the same fixed width.
DateTimeFormatterBuilder appendFixedSignedDecimal(DateTimeFieldType fieldType, int numDigits)
Instructs the printer to emit a field value as a fixed-width decimal number (smaller numbers will be left-padded with zeros), and the parser to expect an signed decimal number with the same fixed width.
DateTimeFormatterBuilder appendFraction(DateTimeFieldType fieldType, int minDigits, int maxDigits)
Instructs the printer to emit a remainder of time as a decimal fraction, sans decimal point.
DateTimeFormatterBuilder appendFractionOfDay(int minDigits, int maxDigits)
DateTimeFormatterBuilder appendFractionOfHour(int minDigits, int maxDigits)
DateTimeFormatterBuilder appendFractionOfMinute(int minDigits, int maxDigits)
DateTimeFormatterBuilder appendFractionOfSecond(int minDigits, int maxDigits)
DateTimeFormatterBuilder appendHalfdayOfDayText()
Instructs the printer to emit a locale-specific AM/PM text, and the parser to expect it.
DateTimeFormatterBuilder appendHourOfDay(int minDigits)
Instructs the printer to emit a numeric hourOfDay field.
DateTimeFormatterBuilder appendHourOfHalfday(int minDigits)
Instructs the printer to emit a numeric hourOfHalfday field.
DateTimeFormatterBuilder appendLiteral(String text)
Instructs the printer to emit specific text, and the parser to expect it.
DateTimeFormatterBuilder appendLiteral(char c)
Instructs the printer to emit a specific character, and the parser to expect it.
DateTimeFormatterBuilder appendMillisOfDay(int minDigits)
Instructs the printer to emit a numeric millisOfDay field.
DateTimeFormatterBuilder appendMillisOfSecond(int minDigits)
Instructs the printer to emit a numeric millisOfSecond field.
DateTimeFormatterBuilder appendMinuteOfDay(int minDigits)
Instructs the printer to emit a numeric minuteOfDay field.
DateTimeFormatterBuilder appendMinuteOfHour(int minDigits)
Instructs the printer to emit a numeric minuteOfHour field.
DateTimeFormatterBuilder appendMonthOfYear(int minDigits)
Instructs the printer to emit a numeric monthOfYear field.
DateTimeFormatterBuilder appendMonthOfYearShortText()
Instructs the printer to emit a locale-specific monthOfYear text.
DateTimeFormatterBuilder appendMonthOfYearText()
Instructs the printer to emit a short locale-specific monthOfYear text.
DateTimeFormatterBuilder appendOptional(DateTimeParser parser)
Appends just a parser element which is optional.
DateTimeFormatterBuilder appendPattern(String pattern)
Calls upon DateTimeFormat to parse the pattern and append the results into this builder.
DateTimeFormatterBuilder appendSecondOfDay(int minDigits)
Instructs the printer to emit a numeric secondOfDay field.
DateTimeFormatterBuilder appendSecondOfMinute(int minDigits)
Instructs the printer to emit a numeric secondOfMinute field.
DateTimeFormatterBuilder appendShortText(DateTimeFieldType fieldType)
Instructs the printer to emit a field value as short text, and the parser to expect text.
DateTimeFormatterBuilder appendSignedDecimal(DateTimeFieldType fieldType, int minDigits, int maxDigits)
Instructs the printer to emit a field value as a decimal number, and the parser to expect a signed decimal number.
DateTimeFormatterBuilder appendText(DateTimeFieldType fieldType)
Instructs the printer to emit a field value as text, and the parser to expect text.
DateTimeFormatterBuilder appendTimeZoneId()
Instructs the printer to emit the identifier of the time zone.
DateTimeFormatterBuilder appendTimeZoneName()
Instructs the printer to emit a locale-specific time zone name.
DateTimeFormatterBuilder appendTimeZoneOffset(String zeroOffsetText, boolean showSeparators, int minFields, int maxFields)
Instructs the printer to emit text and numbers to display time zone offset from UTC.
DateTimeFormatterBuilder appendTimeZoneShortName()
Instructs the printer to emit a short locale-specific time zone name.
DateTimeFormatterBuilder appendTwoDigitWeekyear(int pivot)
Instructs the printer to emit a numeric weekyear field which always prints and parses two digits.
DateTimeFormatterBuilder appendTwoDigitWeekyear(int pivot, boolean lenientParse)
Instructs the printer to emit a numeric weekyear field which always prints two digits.
DateTimeFormatterBuilder appendTwoDigitYear(int pivot, boolean lenientParse)
Instructs the printer to emit a numeric year field which always prints two digits.
DateTimeFormatterBuilder appendTwoDigitYear(int pivot)
Instructs the printer to emit a numeric year field which always prints and parses two digits.
DateTimeFormatterBuilder appendWeekOfWeekyear(int minDigits)
Instructs the printer to emit a numeric weekOfWeekyear field.
DateTimeFormatterBuilder appendWeekyear(int minDigits, int maxDigits)
Instructs the printer to emit a numeric weekyear field.
DateTimeFormatterBuilder appendYear(int minDigits, int maxDigits)
Instructs the printer to emit a numeric year field.
DateTimeFormatterBuilder appendYearOfCentury(int minDigits, int maxDigits)
Instructs the printer to emit a numeric year of century field.
DateTimeFormatterBuilder appendYearOfEra(int minDigits, int maxDigits)
Instructs the printer to emit a numeric yearOfEra field.
boolean canBuildFormatter()
Returns true if toFormatter can be called without throwing an UnsupportedOperationException.
boolean canBuildParser()
Returns true if toParser can be called without throwing an UnsupportedOperationException.
boolean canBuildPrinter()
Returns true if toPrinter can be called without throwing an UnsupportedOperationException.
void clear()
Clears out all the appended elements, allowing this builder to be reused.
DateTimeFormatter toFormatter()
Constructs a DateTimeFormatter using all the appended elements.
DateTimeParser toParser()
Internal method to create a DateTimeParser instance using all the appended elements.
DateTimePrinter toPrinter()
Internal method to create a DateTimePrinter instance using all the appended elements.
[Expand]
Inherited Methods
From class java.lang.Object

Public Constructors

public DateTimeFormatterBuilder ()

Creates a DateTimeFormatterBuilder.

Public Methods

public DateTimeFormatterBuilder append (DateTimePrinter printer, DateTimeParser[] parsers)

Appends a printer and a set of matching parsers. When parsing, the first parser in the list is selected for parsing. If it fails, the next is chosen, and so on. If none of these parsers succeeds, then the failed position of the parser that made the greatest progress is returned.

Only the printer is optional. In addtion, it is illegal for any but the last of the parser array elements to be null. If the last element is null, this represents the empty parser. The presence of an empty parser indicates that the entire array of parse formats is optional.

Parameters
printer the printer to add
parsers the parsers to add
Returns
  • this DateTimeFormatterBuilder
Throws
IllegalArgumentException if any printer or parser is of an invalid type
IllegalArgumentException if any parser element but the last is null

public DateTimeFormatterBuilder append (DateTimePrinter printer, DateTimeParser parser)

Appends a printer/parser pair.

Parameters
printer the printer to add
parser the parser to add
Returns
  • this DateTimeFormatterBuilder
Throws
IllegalArgumentException if printer or parser is null or of an invalid type

public DateTimeFormatterBuilder append (DateTimeFormatter formatter)

Appends another formatter.

Parameters
formatter the formatter to add
Returns
  • this DateTimeFormatterBuilder
Throws
IllegalArgumentException if formatter is null or of an invalid type

public DateTimeFormatterBuilder append (DateTimePrinter printer)

Appends just a printer. With no matching parser, a parser cannot be built from this DateTimeFormatterBuilder.

Parameters
printer the printer to add
Returns
  • this DateTimeFormatterBuilder
Throws
IllegalArgumentException if printer is null or of an invalid type

public DateTimeFormatterBuilder append (DateTimeParser parser)

Appends just a parser. With no matching printer, a printer cannot be built from this builder.

Parameters
parser the parser to add
Returns
  • this DateTimeFormatterBuilder
Throws
IllegalArgumentException if parser is null or of an invalid type

public DateTimeFormatterBuilder appendCenturyOfEra (int minDigits, int maxDigits)

Instructs the printer to emit a numeric century of era field.

Parameters
minDigits minumum number of digits to print
maxDigits maximum number of digits to parse, or the estimated maximum number of digits to print
Returns
  • this DateTimeFormatterBuilder

public DateTimeFormatterBuilder appendClockhourOfDay (int minDigits)

Instructs the printer to emit a numeric clockhourOfDay field.

Parameters
minDigits minumum number of digits to print
Returns
  • this DateTimeFormatterBuilder

public DateTimeFormatterBuilder appendClockhourOfHalfday (int minDigits)

Instructs the printer to emit a numeric clockhourOfHalfday field.

Parameters
minDigits minumum number of digits to print
Returns
  • this DateTimeFormatterBuilder

public DateTimeFormatterBuilder appendDayOfMonth (int minDigits)

Instructs the printer to emit a numeric dayOfMonth field.

Parameters
minDigits minumum number of digits to print
Returns
  • this DateTimeFormatterBuilder

public DateTimeFormatterBuilder appendDayOfWeek (int minDigits)

Instructs the printer to emit a numeric dayOfWeek field.

Parameters
minDigits minumum number of digits to print
Returns
  • this DateTimeFormatterBuilder

public DateTimeFormatterBuilder appendDayOfWeekShortText ()

Instructs the printer to emit a short locale-specific dayOfWeek text. The parser will accept a long or short dayOfWeek text, case-insensitive.

Returns
  • this DateTimeFormatterBuilder

public DateTimeFormatterBuilder appendDayOfWeekText ()

Instructs the printer to emit a locale-specific dayOfWeek text. The parser will accept a long or short dayOfWeek text, case-insensitive.

Returns
  • this DateTimeFormatterBuilder

public DateTimeFormatterBuilder appendDayOfYear (int minDigits)

Instructs the printer to emit a numeric dayOfYear field.

Parameters
minDigits minumum number of digits to print
Returns
  • this DateTimeFormatterBuilder

public DateTimeFormatterBuilder appendDecimal (DateTimeFieldType fieldType, int minDigits, int maxDigits)

Instructs the printer to emit a field value as a decimal number, and the parser to expect an unsigned decimal number.

Parameters
fieldType type of field to append
minDigits minumum number of digits to print
maxDigits maximum number of digits to parse, or the estimated maximum number of digits to print
Returns
  • this DateTimeFormatterBuilder
Throws
IllegalArgumentException if field type is null

public DateTimeFormatterBuilder appendEraText ()

Instructs the printer to emit a locale-specific era text (BC/AD), and the parser to expect it. The parser is case-insensitive.

Returns
  • this DateTimeFormatterBuilder

public DateTimeFormatterBuilder appendFixedDecimal (DateTimeFieldType fieldType, int numDigits)

Instructs the printer to emit a field value as a fixed-width decimal number (smaller numbers will be left-padded with zeros), and the parser to expect an unsigned decimal number with the same fixed width.

Parameters
fieldType type of field to append
numDigits the exact number of digits to parse or print, except if printed value requires more digits
Returns
  • this DateTimeFormatterBuilder
Throws
IllegalArgumentException if field type is null or if numDigits <= 0

public DateTimeFormatterBuilder appendFixedSignedDecimal (DateTimeFieldType fieldType, int numDigits)

Instructs the printer to emit a field value as a fixed-width decimal number (smaller numbers will be left-padded with zeros), and the parser to expect an signed decimal number with the same fixed width.

Parameters
fieldType type of field to append
numDigits the exact number of digits to parse or print, except if printed value requires more digits
Returns
  • this DateTimeFormatterBuilder
Throws
IllegalArgumentException if field type is null or if numDigits <= 0

public DateTimeFormatterBuilder appendFraction (DateTimeFieldType fieldType, int minDigits, int maxDigits)

Instructs the printer to emit a remainder of time as a decimal fraction, sans decimal point. For example, if the field is specified as minuteOfHour and the time is 12:30:45, the value printed is 75. A decimal point is implied, so the fraction is 0.75, or three-quarters of a minute.

Parameters
fieldType type of field to append
minDigits minumum number of digits to print.
maxDigits maximum number of digits to print or parse.
Returns
  • this DateTimeFormatterBuilder
Throws
IllegalArgumentException if field type is null

public DateTimeFormatterBuilder appendFractionOfDay (int minDigits, int maxDigits)

Parameters
minDigits minumum number of digits to print
maxDigits maximum number of digits to print or parse
Returns
  • this DateTimeFormatterBuilder

public DateTimeFormatterBuilder appendFractionOfHour (int minDigits, int maxDigits)

Parameters
minDigits minumum number of digits to print
maxDigits maximum number of digits to print or parse
Returns
  • this DateTimeFormatterBuilder

public DateTimeFormatterBuilder appendFractionOfMinute (int minDigits, int maxDigits)

Parameters
minDigits minumum number of digits to print
maxDigits maximum number of digits to print or parse
Returns
  • this DateTimeFormatterBuilder

public DateTimeFormatterBuilder appendFractionOfSecond (int minDigits, int maxDigits)

Parameters
minDigits minumum number of digits to print
maxDigits maximum number of digits to print or parse
Returns
  • this DateTimeFormatterBuilder

public DateTimeFormatterBuilder appendHalfdayOfDayText ()

Instructs the printer to emit a locale-specific AM/PM text, and the parser to expect it. The parser is case-insensitive.

Returns
  • this DateTimeFormatterBuilder

public DateTimeFormatterBuilder appendHourOfDay (int minDigits)

Instructs the printer to emit a numeric hourOfDay field.

Parameters
minDigits minumum number of digits to print
Returns
  • this DateTimeFormatterBuilder

public DateTimeFormatterBuilder appendHourOfHalfday (int minDigits)

Instructs the printer to emit a numeric hourOfHalfday field.

Parameters
minDigits minumum number of digits to print
Returns
  • this DateTimeFormatterBuilder

public DateTimeFormatterBuilder appendLiteral (String text)

Instructs the printer to emit specific text, and the parser to expect it. The parser is case-insensitive.

Returns
  • this DateTimeFormatterBuilder
Throws
IllegalArgumentException if text is null

public DateTimeFormatterBuilder appendLiteral (char c)

Instructs the printer to emit a specific character, and the parser to expect it. The parser is case-insensitive.

Returns
  • this DateTimeFormatterBuilder

public DateTimeFormatterBuilder appendMillisOfDay (int minDigits)

Instructs the printer to emit a numeric millisOfDay field.

Parameters
minDigits minumum number of digits to print
Returns
  • this DateTimeFormatterBuilder

public DateTimeFormatterBuilder appendMillisOfSecond (int minDigits)

Instructs the printer to emit a numeric millisOfSecond field.

This method will append a field that prints a three digit value. During parsing the value that is parsed is assumed to be three digits. If less than three digits are present then they will be counted as the smallest parts of the millisecond. This is probably not what you want if you are using the field as a fraction. Instead, a fractional millisecond should be produced using appendFractionOfSecond(int, int).

Parameters
minDigits minumum number of digits to print
Returns
  • this DateTimeFormatterBuilder

public DateTimeFormatterBuilder appendMinuteOfDay (int minDigits)

Instructs the printer to emit a numeric minuteOfDay field.

Parameters
minDigits minumum number of digits to print
Returns
  • this DateTimeFormatterBuilder

public DateTimeFormatterBuilder appendMinuteOfHour (int minDigits)

Instructs the printer to emit a numeric minuteOfHour field.

Parameters
minDigits minumum number of digits to print
Returns
  • this DateTimeFormatterBuilder

public DateTimeFormatterBuilder appendMonthOfYear (int minDigits)

Instructs the printer to emit a numeric monthOfYear field.

Parameters
minDigits minumum number of digits to print
Returns
  • this DateTimeFormatterBuilder

public DateTimeFormatterBuilder appendMonthOfYearShortText ()

Instructs the printer to emit a locale-specific monthOfYear text. The parser will accept a long or short monthOfYear text, case-insensitive.

Returns
  • this DateTimeFormatterBuilder

public DateTimeFormatterBuilder appendMonthOfYearText ()

Instructs the printer to emit a short locale-specific monthOfYear text. The parser will accept a long or short monthOfYear text, case-insensitive.

Returns
  • this DateTimeFormatterBuilder

public DateTimeFormatterBuilder appendOptional (DateTimeParser parser)

Appends just a parser element which is optional. With no matching printer, a printer cannot be built from this DateTimeFormatterBuilder.

Returns
  • this DateTimeFormatterBuilder
Throws
IllegalArgumentException if parser is null or of an invalid type

public DateTimeFormatterBuilder appendPattern (String pattern)

Calls upon DateTimeFormat to parse the pattern and append the results into this builder.

Parameters
pattern pattern specification
Throws
IllegalArgumentException if the pattern is invalid
See Also

public DateTimeFormatterBuilder appendSecondOfDay (int minDigits)

Instructs the printer to emit a numeric secondOfDay field.

Parameters
minDigits minumum number of digits to print
Returns
  • this DateTimeFormatterBuilder

public DateTimeFormatterBuilder appendSecondOfMinute (int minDigits)

Instructs the printer to emit a numeric secondOfMinute field.

Parameters
minDigits minumum number of digits to print
Returns
  • this DateTimeFormatterBuilder

public DateTimeFormatterBuilder appendShortText (DateTimeFieldType fieldType)

Instructs the printer to emit a field value as short text, and the parser to expect text.

Parameters
fieldType type of field to append
Returns
  • this DateTimeFormatterBuilder
Throws
IllegalArgumentException if field type is null

public DateTimeFormatterBuilder appendSignedDecimal (DateTimeFieldType fieldType, int minDigits, int maxDigits)

Instructs the printer to emit a field value as a decimal number, and the parser to expect a signed decimal number.

Parameters
fieldType type of field to append
minDigits minumum number of digits to print
maxDigits maximum number of digits to parse, or the estimated maximum number of digits to print
Returns
  • this DateTimeFormatterBuilder
Throws
IllegalArgumentException if field type is null

public DateTimeFormatterBuilder appendText (DateTimeFieldType fieldType)

Instructs the printer to emit a field value as text, and the parser to expect text.

Parameters
fieldType type of field to append
Returns
  • this DateTimeFormatterBuilder
Throws
IllegalArgumentException if field type is null

public DateTimeFormatterBuilder appendTimeZoneId ()

Instructs the printer to emit the identifier of the time zone. This field cannot currently be parsed.

Returns
  • this DateTimeFormatterBuilder

public DateTimeFormatterBuilder appendTimeZoneName ()

Instructs the printer to emit a locale-specific time zone name. A parser cannot be created from this builder if a time zone name is appended.

Returns
  • this DateTimeFormatterBuilder

public DateTimeFormatterBuilder appendTimeZoneOffset (String zeroOffsetText, boolean showSeparators, int minFields, int maxFields)

Instructs the printer to emit text and numbers to display time zone offset from UTC. A parser will use the parsed time zone offset to adjust the datetime.

Parameters
zeroOffsetText Text to use if time zone offset is zero. If null, offset is always shown.
showSeparators If true, prints ':' separator before minute and second field and prints '.' separator before fraction field.
minFields minimum number of fields to print, stopping when no more precision is required. 1=hours, 2=minutes, 3=seconds, 4=fraction
maxFields maximum number of fields to print
Returns
  • this DateTimeFormatterBuilder

public DateTimeFormatterBuilder appendTimeZoneShortName ()

Instructs the printer to emit a short locale-specific time zone name. A parser cannot be created from this builder if time zone name is appended.

Returns
  • this DateTimeFormatterBuilder

public DateTimeFormatterBuilder appendTwoDigitWeekyear (int pivot)

Instructs the printer to emit a numeric weekyear field which always prints and parses two digits. A pivot year is used during parsing to determine the range of supported years as (pivot - 50) .. (pivot + 49).

 pivot   supported range   00 is   20 is   40 is   60 is   80 is
 ---------------------------------------------------------------
 1950      1900..1999      1900    1920    1940    1960    1980
 1975      1925..2024      2000    2020    1940    1960    1980
 2000      1950..2049      2000    2020    2040    1960    1980
 2025      1975..2074      2000    2020    2040    2060    1980
 2050      2000..2099      2000    2020    2040    2060    2080
 

Parameters
pivot pivot weekyear to use when parsing
Returns
  • this DateTimeFormatterBuilder

public DateTimeFormatterBuilder appendTwoDigitWeekyear (int pivot, boolean lenientParse)

Instructs the printer to emit a numeric weekyear field which always prints two digits. A pivot year is used during parsing to determine the range of supported years as (pivot - 50) .. (pivot + 49). If parse is instructed to be lenient and the digit count is not two, it is treated as an absolute weekyear. With lenient parsing, specifying a positive or negative sign before the weekyear also makes it absolute.

Parameters
pivot pivot weekyear to use when parsing
lenientParse when true, if digit count is not two, it is treated as an absolute weekyear
Returns
  • this DateTimeFormatterBuilder

public DateTimeFormatterBuilder appendTwoDigitYear (int pivot, boolean lenientParse)

Instructs the printer to emit a numeric year field which always prints two digits. A pivot year is used during parsing to determine the range of supported years as (pivot - 50) .. (pivot + 49). If parse is instructed to be lenient and the digit count is not two, it is treated as an absolute year. With lenient parsing, specifying a positive or negative sign before the year also makes it absolute.

Parameters
pivot pivot year to use when parsing
lenientParse when true, if digit count is not two, it is treated as an absolute year
Returns
  • this DateTimeFormatterBuilder

public DateTimeFormatterBuilder appendTwoDigitYear (int pivot)

Instructs the printer to emit a numeric year field which always prints and parses two digits. A pivot year is used during parsing to determine the range of supported years as (pivot - 50) .. (pivot + 49).

 pivot   supported range   00 is   20 is   40 is   60 is   80 is
 ---------------------------------------------------------------
 1950      1900..1999      1900    1920    1940    1960    1980
 1975      1925..2024      2000    2020    1940    1960    1980
 2000      1950..2049      2000    2020    2040    1960    1980
 2025      1975..2074      2000    2020    2040    2060    1980
 2050      2000..2099      2000    2020    2040    2060    2080
 

Parameters
pivot pivot year to use when parsing
Returns
  • this DateTimeFormatterBuilder

public DateTimeFormatterBuilder appendWeekOfWeekyear (int minDigits)

Instructs the printer to emit a numeric weekOfWeekyear field.

Parameters
minDigits minumum number of digits to print
Returns
  • this DateTimeFormatterBuilder

public DateTimeFormatterBuilder appendWeekyear (int minDigits, int maxDigits)

Instructs the printer to emit a numeric weekyear field.

Parameters
minDigits minumum number of digits to print
maxDigits maximum number of digits to parse, or the estimated maximum number of digits to print
Returns
  • this DateTimeFormatterBuilder

public DateTimeFormatterBuilder appendYear (int minDigits, int maxDigits)

Instructs the printer to emit a numeric year field.

Parameters
minDigits minumum number of digits to print
maxDigits maximum number of digits to parse, or the estimated maximum number of digits to print
Returns
  • this DateTimeFormatterBuilder

public DateTimeFormatterBuilder appendYearOfCentury (int minDigits, int maxDigits)

Instructs the printer to emit a numeric year of century field.

Parameters
minDigits minumum number of digits to print
maxDigits maximum number of digits to parse, or the estimated maximum number of digits to print
Returns
  • this DateTimeFormatterBuilder

public DateTimeFormatterBuilder appendYearOfEra (int minDigits, int maxDigits)

Instructs the printer to emit a numeric yearOfEra field.

Parameters
minDigits minumum number of digits to print
maxDigits maximum number of digits to parse, or the estimated maximum number of digits to print
Returns
  • this DateTimeFormatterBuilder

public boolean canBuildFormatter ()

Returns true if toFormatter can be called without throwing an UnsupportedOperationException.

Returns
  • true if a formatter can be built

public boolean canBuildParser ()

Returns true if toParser can be called without throwing an UnsupportedOperationException.

Returns
  • true if a parser can be built

public boolean canBuildPrinter ()

Returns true if toPrinter can be called without throwing an UnsupportedOperationException.

Returns
  • true if a printer can be built

public void clear ()

Clears out all the appended elements, allowing this builder to be reused.

public DateTimeFormatter toFormatter ()

Constructs a DateTimeFormatter using all the appended elements.

This is the main method used by applications at the end of the build process to create a usable formatter.

Subsequent changes to this builder do not affect the returned formatter.

The returned formatter may not support both printing and parsing. The methods isPrinter() and isParser() will help you determine the state of the formatter.

Throws
UnsupportedOperationException if neither printing nor parsing is supported

public DateTimeParser toParser ()

Internal method to create a DateTimeParser instance using all the appended elements.

Most applications will not use this method. If you want a parser in an application, call toFormatter() and just use the parsing API.

Subsequent changes to this builder do not affect the returned parser.

Throws
UnsupportedOperationException if parsing is not supported

public DateTimePrinter toPrinter ()

Internal method to create a DateTimePrinter instance using all the appended elements.

Most applications will not use this method. If you want a printer in an application, call toFormatter() and just use the printing API.

Subsequent changes to this builder do not affect the returned printer.

Throws
UnsupportedOperationException if printing is not supported