Builder to create date-time formatters. !(p) This allows a {@code DateTimeFormatter} to be created. All date-time formatters are created ultimately using this builder. !(p) The basic elements of date-time can all be added: !(ul) !(li)Value - a numeric value</li> !(li)Fraction - a fractional value including the decimal place. Always use this when outputting fractions to ensure that the fraction is parsed correctly</li> !(li)Text - the textual equivalent for the value</li> !(li)OffsetId/Offset - the {@linkplain ZoneOffset zone offset}</li> !(li)ZoneId - the {@linkplain ZoneId time-zone} id</li> !(li)ZoneText - the name of the time-zone</li> !(li)ChronologyId - the {@linkplain Chronology chronology} id</li> !(li)ChronologyText - the name of the chronology</li> !(li)Literal - a text literal</li> !(li)Nested and Optional - formats can be nested or made optional</li> </ul> In addition, any of the elements may be decorated by padding, either with spaces or any other character. !(p) Finally, a shorthand pattern, mostly compatible with {@code java.text.SimpleDateFormat SimpleDateFormat} can be used, see {@link #appendPattern(string)}. In practice, this simply parses the pattern and calls other methods on the builder.