## Uses of Class
java.time.ZoneId

- Packages that use ZoneId
  Package | Description
  --- | ---
  java.time | The main API for dates, times, instants, and durations.
  java.time.chrono | Generic API for calendar systems other than the default ISO.
  java.time.format | Provides classes to print and parse dates and times.
  java.time.temporal | Access to date and time using fields and units, and date time adjusters.
  java.util | Contains the collections framework, some internationalization support classes, a service loader, properties, random number generation, string parsing and scanning classes, base64 encoding and decoding, a bit array, and several miscellaneous utility classes.

- - ### Uses of ZoneId in java.time

    Subclasses of ZoneId in java.time
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `ZoneOffset` | A time-zone offset from Greenwich/UTC, such as `+02:00`.

    Methods in java.time that return ZoneId
    Modifier and Type | Method | Description
    --- | --- | ---
    `static ZoneId` | ZoneId.`from​(TemporalAccessor temporal)` | Obtains an instance of `ZoneId` from a temporal object.
    `abstract ZoneId` | Clock.`getZone()` | Gets the time-zone being used to create dates and times.
    `ZoneId` | ZonedDateTime.`getZone()` | Gets the time-zone, such as 'Europe/Paris'.
    `ZoneId` | ZoneId.`normalized()` | Normalizes the time-zone ID, returning a `ZoneOffset` where possible.
    `static ZoneId` | ZoneId.`of​(String zoneId)` | Obtains an instance of `ZoneId` from an ID ensuring that the ID is valid and available for use.
    `static ZoneId` | ZoneId.`of​(String zoneId, Map<String,​String> aliasMap)` | Obtains an instance of `ZoneId` using its ID using a map of aliases to supplement the standard zone IDs.
    `static ZoneId` | ZoneId.`ofOffset​(String prefix, ZoneOffset offset)` | Obtains an instance of `ZoneId` wrapping an offset.
    `static ZoneId` | ZoneId.`systemDefault()` | Gets the system default time-zone.

    Methods in java.time with parameters of type ZoneId
    Modifier and Type | Method | Description
    --- | --- | ---
    `ZonedDateTime` | LocalDate.`atStartOfDay​(ZoneId zone)` | Returns a zoned date-time from this date at the earliest valid time according to the rules in the time-zone.
    `ZonedDateTime` | Instant.`atZone​(ZoneId zone)` | Combines this instant with a time-zone to create a `ZonedDateTime`.
    `ZonedDateTime` | LocalDateTime.`atZone​(ZoneId zone)` | Combines this date-time with a time-zone to create a `ZonedDateTime`.
    `ZonedDateTime` | OffsetDateTime.`atZoneSameInstant​(ZoneId zone)` | Combines this date-time with a time-zone to create a `ZonedDateTime` ensuring that the result has the same instant.
    `ZonedDateTime` | OffsetDateTime.`atZoneSimilarLocal​(ZoneId zone)` | Combines this date-time with a time-zone to create a `ZonedDateTime` trying to keep the same local date and time.
    `static Clock` | Clock.`fixed​(Instant fixedInstant, ZoneId zone)` | Obtains a clock that always returns the same instant.
    `static LocalDate` | LocalDate.`now​(ZoneId zone)` | Obtains the current date from the system clock in the specified time-zone.
    `static LocalDateTime` | LocalDateTime.`now​(ZoneId zone)` | Obtains the current date-time from the system clock in the specified time-zone.
    `static LocalTime` | LocalTime.`now​(ZoneId zone)` | Obtains the current time from the system clock in the specified time-zone.
    `static MonthDay` | MonthDay.`now​(ZoneId zone)` | Obtains the current month-day from the system clock in the specified time-zone.
    `static OffsetDateTime` | OffsetDateTime.`now​(ZoneId zone)` | Obtains the current date-time from the system clock in the specified time-zone.
    `static OffsetTime` | OffsetTime.`now​(ZoneId zone)` | Obtains the current time from the system clock in the specified time-zone.
    `static Year` | Year.`now​(ZoneId zone)` | Obtains the current year from the system clock in the specified time-zone.
    `static YearMonth` | YearMonth.`now​(ZoneId zone)` | Obtains the current year-month from the system clock in the specified time-zone.
    `static ZonedDateTime` | ZonedDateTime.`now​(ZoneId zone)` | Obtains the current date-time from the system clock in the specified time-zone.
    `static ZonedDateTime` | ZonedDateTime.`of​(int year, int month, int dayOfMonth, int hour, int minute, int second, int nanoOfSecond, ZoneId zone)` | Obtains an instance of `ZonedDateTime` from a year, month, day, hour, minute, second, nanosecond and time-zone.
    `static ZonedDateTime` | ZonedDateTime.`of​(LocalDate date, LocalTime time, ZoneId zone)` | Obtains an instance of `ZonedDateTime` from a local date and time.
    `static ZonedDateTime` | ZonedDateTime.`of​(LocalDateTime localDateTime, ZoneId zone)` | Obtains an instance of `ZonedDateTime` from a local date-time.
    `static LocalDate` | LocalDate.`ofInstant​(Instant instant, ZoneId zone)` | Obtains an instance of `LocalDate` from an `Instant` and zone ID.
    `static LocalDateTime` | LocalDateTime.`ofInstant​(Instant instant, ZoneId zone)` | Obtains an instance of `LocalDateTime` from an `Instant` and zone ID.
    `static LocalTime` | LocalTime.`ofInstant​(Instant instant, ZoneId zone)` | Obtains an instance of `LocalTime` from an `Instant` and zone ID.
    `static OffsetDateTime` | OffsetDateTime.`ofInstant​(Instant instant, ZoneId zone)` | Obtains an instance of `OffsetDateTime` from an `Instant` and zone ID.
    `static OffsetTime` | OffsetTime.`ofInstant​(Instant instant, ZoneId zone)` | Obtains an instance of `OffsetTime` from an `Instant` and zone ID.
    `static ZonedDateTime` | ZonedDateTime.`ofInstant​(Instant instant, ZoneId zone)` | Obtains an instance of `ZonedDateTime` from an `Instant`.
    `static ZonedDateTime` | ZonedDateTime.`ofInstant​(LocalDateTime localDateTime, ZoneOffset offset, ZoneId zone)` | Obtains an instance of `ZonedDateTime` from the instant formed by combining the local date-time and offset.
    `static ZonedDateTime` | ZonedDateTime.`ofLocal​(LocalDateTime localDateTime, ZoneId zone, ZoneOffset preferredOffset)` | Obtains an instance of `ZonedDateTime` from a local date-time using the preferred offset if possible.
    `static ZonedDateTime` | ZonedDateTime.`ofStrict​(LocalDateTime localDateTime, ZoneOffset offset, ZoneId zone)` | Obtains an instance of `ZonedDateTime` strictly validating the combination of local date-time, offset and zone ID.
    `static Clock` | Clock.`system​(ZoneId zone)` | Obtains a clock that returns the current instant using the best available system clock.
    `static Clock` | Clock.`tickMillis​(ZoneId zone)` | Obtains a clock that returns the current instant ticking in whole milliseconds using the best available system clock.
    `static Clock` | Clock.`tickMinutes​(ZoneId zone)` | Obtains a clock that returns the current instant ticking in whole minutes using the best available system clock.
    `static Clock` | Clock.`tickSeconds​(ZoneId zone)` | Obtains a clock that returns the current instant ticking in whole seconds using the best available system clock.
    `abstract Clock` | Clock.`withZone​(ZoneId zone)` | Returns a copy of this clock with a different time-zone.
    `ZonedDateTime` | ZonedDateTime.`withZoneSameInstant​(ZoneId zone)` | Returns a copy of this date-time with a different time-zone, retaining the instant.
    `ZonedDateTime` | ZonedDateTime.`withZoneSameLocal​(ZoneId zone)` | Returns a copy of this date-time with a different time-zone, retaining the local date-time if possible.

  - ### Uses of ZoneId in java.time.chrono

    Methods in java.time.chrono that return ZoneId
    Modifier and Type | Method | Description
    --- | --- | ---
    `ZoneId` | ChronoZonedDateTime.`getZone()` | Gets the zone ID, such as 'Europe/Paris'.

    Methods in java.time.chrono with parameters of type ZoneId
    Modifier and Type | Method | Description
    --- | --- | ---
    `ChronoZonedDateTime<D>` | ChronoLocalDateTime.`atZone​(ZoneId zone)` | Combines this time with a time-zone to create a `ChronoZonedDateTime`.
    `default ChronoLocalDate` | Chronology.`dateNow​(ZoneId zone)` | Obtains the current local date in this chronology from the system clock in the specified time-zone.
    `LocalDate` | IsoChronology.`dateNow​(ZoneId zone)` | Obtains the current ISO local date from the system clock in the specified time-zone.
    `static HijrahDate` | HijrahDate.`now​(ZoneId zone)` | Obtains the current `HijrahDate` of the Islamic Umm Al-Qura calendar in the specified time-zone.
    `static JapaneseDate` | JapaneseDate.`now​(ZoneId zone)` | Obtains the current `JapaneseDate` from the system clock in the specified time-zone.
    `static MinguoDate` | MinguoDate.`now​(ZoneId zone)` | Obtains the current `MinguoDate` from the system clock in the specified time-zone.
    `static ThaiBuddhistDate` | ThaiBuddhistDate.`now​(ZoneId zone)` | Obtains the current `ThaiBuddhistDate` from the system clock in the specified time-zone.
    `ChronoZonedDateTime<D>` | ChronoZonedDateTime.`withZoneSameInstant​(ZoneId zone)` | Returns a copy of this date-time with a different time-zone, retaining the instant.
    `ChronoZonedDateTime<D>` | ChronoZonedDateTime.`withZoneSameLocal​(ZoneId zone)` | Returns a copy of this date-time with a different time-zone, retaining the local date-time if possible.
    `default ChronoZonedDateTime<? extends ChronoLocalDate>` | Chronology.`zonedDateTime​(Instant instant, ZoneId zone)` | Obtains a `ChronoZonedDateTime` in this chronology from an `Instant`.
    `ZonedDateTime` | IsoChronology.`zonedDateTime​(Instant instant, ZoneId zone)` | Obtains an ISO zoned date-time in this chronology from an `Instant`.

  - ### Uses of ZoneId in java.time.format

    Methods in java.time.format that return ZoneId
    Modifier and Type | Method | Description
    --- | --- | ---
    `ZoneId` | DateTimeFormatter.`getZone()` | Gets the overriding zone to be used during formatting.

    Methods in java.time.format with parameters of type ZoneId
    Modifier and Type | Method | Description
    --- | --- | ---
    `DateTimeFormatter` | DateTimeFormatter.`withZone​(ZoneId zone)` | Returns a copy of this formatter with a new override zone.

    Method parameters in java.time.format with type arguments of type ZoneId
    Modifier and Type | Method | Description
    --- | --- | ---
    `DateTimeFormatterBuilder` | DateTimeFormatterBuilder.`appendGenericZoneText​(TextStyle textStyle, Set<ZoneId> preferredZones)` | Appends the generic time-zone name, such as 'Pacific Time', to the formatter.
    `DateTimeFormatterBuilder` | DateTimeFormatterBuilder.`appendZoneText​(TextStyle textStyle, Set<ZoneId> preferredZones)` | Appends the time-zone name, such as 'British Summer Time', to the formatter.

  - ### Uses of ZoneId in java.time.temporal

    Methods in java.time.temporal that return types with arguments of type ZoneId
    Modifier and Type | Method | Description
    --- | --- | ---
    `static TemporalQuery<ZoneId>` | TemporalQueries.`zone()` | A lenient query for the `ZoneId`, falling back to the `ZoneOffset`.
    `static TemporalQuery<ZoneId>` | TemporalQueries.`zoneId()` | A strict query for the `ZoneId`.

  - ### Uses of ZoneId in java.util

    Methods in java.util that return ZoneId
    Modifier and Type | Method | Description
    --- | --- | ---
    `ZoneId` | TimeZone.`toZoneId()` | Converts this `TimeZone` object to a `ZoneId`.

    Methods in java.util with parameters of type ZoneId
    Modifier and Type | Method | Description
    --- | --- | ---
    `static TimeZone` | TimeZone.`getTimeZone​(ZoneId zoneId)` | Gets the `TimeZone` for the given `zoneId`.