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
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      Serialization lock
      See Also:
    • NEAR_ZERO

      private static final long NEAR_ZERO
      Avoid calculation errors near zero.
      See Also:
  • Constructor Details

    • ZonedChronology

      private ZonedChronology(Chronology base, DateTimeZone zone)
      Restricted constructor
      Parameters:
      base - base chronology to wrap
      zone - the time zone
  • 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
    • useTimeArithmetic

      static boolean useTimeArithmetic(DurationField field)
    • 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
    • localToUTC

      private long localToUTC(long localInstant)
      Parameters:
      localInstant - the instant from 1970-01-01T00:00:00 local time
      Returns:
      the instant from 1970-01-01T00:00:00Z
    • 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
    • convertField

      private DurationField convertField(DurationField field, HashMap<Object,Object> converted)
    • convertField

      private DateTimeField convertField(DateTimeField field, HashMap<Object,Object> converted)
    • 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