Class FixedDateTimeZone


public final class FixedDateTimeZone extends StorableDateTimeZone
Basic DateTimeZone implementation that has a fixed name key and offsets.

FixedDateTimeZone is thread-safe and immutable.

Since:
1.0
  • Constructor Details

    • FixedDateTimeZone

      public FixedDateTimeZone(String id, int wallOffset, int standardOffset)
  • Method Details

    • getOffset

      public int getOffset(long instant)
      Description copied from class: DateTimeZone
      Gets the millisecond offset to add to UTC to get local time.
      Specified by:
      getOffset in class DateTimeZone
      Parameters:
      instant - milliseconds from 1970-01-01T00:00:00Z to get the offset for
      Returns:
      the millisecond offset to add to UTC to get local time
    • getStandardOffset

      public int getStandardOffset(long instant)
      Description copied from class: DateTimeZone
      Gets the standard millisecond offset to add to UTC to get local time, when standard time is in effect.
      Specified by:
      getStandardOffset in class DateTimeZone
      Parameters:
      instant - milliseconds from 1970-01-01T00:00:00Z to get the offset for
      Returns:
      the millisecond offset to add to UTC to get local time
    • getOffsetFromLocal

      public int getOffsetFromLocal(long instantLocal)
      Description copied from class: DateTimeZone
      Gets the millisecond offset to subtract from local time to get UTC time. This offset can be used to undo adding the offset obtained by getOffset.
       millisLocal == millisUTC   + getOffset(millisUTC)
       millisUTC   == millisLocal - getOffsetFromLocal(millisLocal)
       
      NOTE: After calculating millisLocal, some error may be introduced. At offset transitions (due to DST or other historical changes), ranges of local times may map to different UTC times.

      For overlaps (where the local time is ambiguous), this method returns the offset applicable before the gap. The effect of this is that any instant calculated using the offset from an overlap will be in "summer" time.

      For gaps, this method returns the offset applicable before the gap, ie "winter" offset. However, the effect of this is that any instant calculated using the offset from a gap will be after the gap, in "summer" time.

      For example, consider a zone with a gap from 01:00 to 01:59:
      Input: 00:00 (before gap) Output: Offset applicable before gap DateTime: 00:00
      Input: 00:30 (before gap) Output: Offset applicable before gap DateTime: 00:30
      Input: 01:00 (in gap) Output: Offset applicable before gap DateTime: 02:00
      Input: 01:30 (in gap) Output: Offset applicable before gap DateTime: 02:30
      Input: 02:00 (after gap) Output: Offset applicable after gap DateTime: 02:00
      Input: 02:30 (after gap) Output: Offset applicable after gap DateTime: 02:30

      NOTE: Prior to v2.0, the DST overlap behaviour was not defined and varied by hemisphere. Prior to v1.5, the DST gap behaviour was also not defined. In v2.4, the documentation was clarified again.

      Overrides:
      getOffsetFromLocal in class DateTimeZone
      Parameters:
      instantLocal - the millisecond instant, relative to this time zone, to get the offset for
      Returns:
      the millisecond offset to subtract from local time to get UTC time
    • isFixed

      public boolean isFixed()
      Description copied from class: DateTimeZone
      Returns true if this time zone has no transitions.
      Specified by:
      isFixed in class DateTimeZone
      Returns:
      true if no transitions
    • nextTransition

      public long nextTransition(long instant)
      Description copied from class: DateTimeZone
      Advances the given instant to where the time zone offset or name changes. If the instant returned is exactly the same as passed in, then no changes occur after the given instant.
      Specified by:
      nextTransition in class DateTimeZone
      Parameters:
      instant - milliseconds from 1970-01-01T00:00:00Z
      Returns:
      milliseconds from 1970-01-01T00:00:00Z
    • previousTransition

      public long previousTransition(long instant)
      Description copied from class: DateTimeZone
      Retreats the given instant to where the time zone offset or name changes. If the instant returned is exactly the same as passed in, then no changes occur before the given instant.
      Specified by:
      previousTransition in class DateTimeZone
      Parameters:
      instant - milliseconds from 1970-01-01T00:00:00Z
      Returns:
      milliseconds from 1970-01-01T00:00:00Z
    • write

      public void write(StringBuilder sb)
      Specified by:
      write in class StorableDateTimeZone
    • readZone

      public static FixedDateTimeZone readZone(String id, CharFlow flow)
    • asZoneRules

      public ZoneRules asZoneRules()
      Specified by:
      asZoneRules in class DateTimeZone