DateTimeFormatterBuilder.appendZoneOrOffsetId

Appends the time-zone ID, such as 'Europe/Paris' or '+02:00', to the formatter, using the best available zone ID. !(p) This appends an instruction to format/parse the best available zone or offset ID to the builder. The zone ID is obtained _in a lenient manner that first attempts to find a true zone ID, such as that on {@code ZonedDateTime}, and then attempts to find an offset, such as that on {@code OffsetDateTime}. !(p) During formatting, the zone is obtained using a mechanism equivalent to querying the temporal with {@link TemporalQueries#zone()}. It will be printed using the result of {@link ZoneId#getId()}. If the zone cannot be obtained then an exception is thrown unless the section of the formatter is optional. !(p) During parsing, the text must match a known zone or offset. There are two types of zone ID, offset-based, such as '+01:30' and region-based, such as 'Europe/London'. These are parsed differently. If the parse starts with '+', '-', 'UT', 'UTC' or 'GMT', then the parser expects an offset-based zone and will not match region-based zones. The offset ID, such as '+02:30', may be at the start of the parse, or prefixed by 'UT', 'UTC' or 'GMT'. The offset ID parsing is equivalent to using {@link #appendOffset(string, string)} using the arguments 'HH:MM:ss' and the no offset string '0'. If the parse starts with 'UT', 'UTC' or 'GMT', and the parser cannot match a following offset ID, then {@link ZoneOffset#UTC} is selected. In all other cases, the list of known region-based zones is used to find the longest available match. If no match is found, and the parse starts with 'Z', then {@code ZoneOffset.UTC} is selected. The parser uses the {@linkplain #parseCaseInsensitive() case sensitive} setting. !(p) For example, the following will parse: !(pre) "Europe/London" -- ZoneId.of("Europe/London") "Z" -- ZoneOffset.UTC "UT" -- ZoneId.of("UT") "UTC" -- ZoneId.of("UTC") "GMT" -- ZoneId.of("GMT") "+01:30" -- ZoneOffset.of("+01:30") "UT+01:30" -- ZoneOffset.of("UT+01:30") "UTC+01:30" -- ZoneOffset.of("UTC+01:30") "GMT+01:30" -- ZoneOffset.of("GMT+01:30") </pre> !(p) Note that this method is identical to {@code appendZoneId()} except _in the mechanism used to obtain the zone.

@return this, for chaining, not null @see #appendZoneId()

class DateTimeFormatterBuilder
appendZoneOrOffsetId
()

Meta