Class ZonedChronology

All Implemented Interfaces:
Serializable

public final class ZonedChronology extends AssembledChronology
Wraps another Chronology to add support for time zones.

ZonedChronology is thread-safe and immutable.

Since:
1.0
Author:
Brian S O'Neill, Stephen Colebourne
See Also:
  • Method Details

    • getInstance

      public static ZonedChronology getInstance(Chronology base, DateTimeZone zone)
      Create a ZonedChronology for any chronology, overriding any time zone it may already have.
      Parameters:
      base - base chronology to wrap
      zone - the time zone
      Returns:
      the chronology, not null
      Throws:
      IllegalArgumentException - if chronology or time zone is null
    • getZone

      public DateTimeZone getZone()
      Description copied from class: BaseChronology
      Returns the DateTimeZone that this Chronology operates in, or null if unspecified.
      Overrides:
      getZone in class AssembledChronology
      Returns:
      DateTimeZone null if unspecified
    • withUTC

      public Chronology withUTC()
      Description copied from class: BaseChronology
      Returns an instance of this Chronology that operates in the UTC time zone. Chronologies that do not operate in a time zone or are already UTC must return themselves.
      Specified by:
      withUTC in class BaseChronology
      Returns:
      a version of this chronology that ignores time zones
    • withZone

      public Chronology withZone(DateTimeZone zone)
      Description copied from class: BaseChronology
      Returns an instance of this Chronology that operates in any time zone.
      Specified by:
      withZone in class BaseChronology
      Parameters:
      zone - to use, or default if null
      Returns:
      a version of this chronology with a specific time zone
      See Also:
    • getDateTimeMillis

      public long getDateTimeMillis(int year, int monthOfYear, int dayOfMonth, int millisOfDay) throws IllegalArgumentException
      Description copied from class: BaseChronology
      Returns a datetime millisecond instant, formed from the given year, month, day, and millisecond values. The set of given values must refer to a valid datetime, or else an IllegalArgumentException is thrown.

      The default implementation calls upon separate DateTimeFields to determine the result. Subclasses are encouraged to provide a more efficient implementation.

      Overrides:
      getDateTimeMillis in class AssembledChronology
      Parameters:
      year - year to use
      monthOfYear - month to use
      dayOfMonth - day of month to use
      millisOfDay - millisecond to use
      Returns:
      millisecond instant from 1970-01-01T00:00:00Z
      Throws:
      IllegalArgumentException - if the values are invalid
    • getDateTimeMillis

      public long getDateTimeMillis(int year, int monthOfYear, int dayOfMonth, int hourOfDay, int minuteOfHour, int secondOfMinute, int millisOfSecond) throws IllegalArgumentException
      Description copied from class: BaseChronology
      Returns a datetime millisecond instant, formed from the given year, month, day, hour, minute, second, and millisecond values. The set of given values must refer to a valid datetime, or else an IllegalArgumentException is thrown.

      The default implementation calls upon separate DateTimeFields to determine the result. Subclasses are encouraged to provide a more efficient implementation.

      Overrides:
      getDateTimeMillis in class AssembledChronology
      Parameters:
      year - year to use
      monthOfYear - month to use
      dayOfMonth - day of month to use
      hourOfDay - hour to use
      minuteOfHour - minute to use
      secondOfMinute - second to use
      millisOfSecond - millisecond to use
      Returns:
      millisecond instant from 1970-01-01T00:00:00Z
      Throws:
      IllegalArgumentException - if the values are invalid
    • getDateTimeMillis

      public long getDateTimeMillis(long instant, int hourOfDay, int minuteOfHour, int secondOfMinute, int millisOfSecond) throws IllegalArgumentException
      Description copied from class: BaseChronology
      Returns a datetime millisecond instant, from from the given instant, hour, minute, second, and millisecond values. The set of given values must refer to a valid datetime, or else an IllegalArgumentException is thrown.

      The default implementation calls upon separate DateTimeFields to determine the result. Subclasses are encouraged to provide a more efficient implementation.

      Overrides:
      getDateTimeMillis in class AssembledChronology
      Parameters:
      instant - instant to start from
      hourOfDay - hour to use
      minuteOfHour - minute to use
      secondOfMinute - second to use
      millisOfSecond - millisecond to use
      Returns:
      millisecond instant from 1970-01-01T00:00:00Z
      Throws:
      IllegalArgumentException - if the values are invalid
    • assemble

      protected void assemble(AssembledChronology.Fields fields)
      Description copied from class: AssembledChronology
      Invoked by the constructor and after deserialization to allow subclasses to define all of its supported fields. All unset fields default to unsupported instances.
      Specified by:
      assemble in class AssembledChronology
      Parameters:
      fields - container of fields
    • equals

      public boolean equals(Object obj)
      A zoned chronology is only equal to a zoned chronology with the same base chronology and zone.
      Overrides:
      equals in class Object
      Parameters:
      obj - the object to compare to
      Returns:
      true if equal
      Since:
      1.4
    • hashCode

      public int hashCode()
      A suitable hashcode for the chronology.
      Overrides:
      hashCode in class Object
      Returns:
      the hashcode
      Since:
      1.4
    • toString

      public String toString()
      A debugging string for the chronology.
      Specified by:
      toString in class BaseChronology
      Returns:
      the debugging string