org.joda.time.tz
Class FixedDateTimeZone

java.lang.Object
  extended by org.joda.time.DateTimeZone
      extended by org.joda.time.tz.FixedDateTimeZone
All Implemented Interfaces:
Serializable

public final class FixedDateTimeZone
extends DateTimeZone

Basic DateTimeZone implementation that has a fixed name key and offsets.

FixedDateTimeZone is thread-safe and immutable.

Since:
1.0
Author:
Brian S O'Neill
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.joda.time.DateTimeZone
UTC
 
Constructor Summary
FixedDateTimeZone(String id, String nameKey, int wallOffset, int standardOffset)
           
 
Method Summary
 boolean equals(Object obj)
          Compare this datetime zone with another.
 String getNameKey(long instant)
          Returns a non-localized name that is unique to this time zone.
 int getOffset(long instant)
          Gets the millisecond offset to add to UTC to get local time.
 int getOffsetFromLocal(long instantLocal)
          Gets the millisecond offset to subtract from local time to get UTC time.
 int getStandardOffset(long instant)
          Gets the standard millisecond offset to add to UTC to get local time, when standard time is in effect.
 int hashCode()
          Gets a hash code compatable with equals.
 boolean isFixed()
          Returns true if this time zone has no transitions.
 long nextTransition(long instant)
          Advances the given instant to where the time zone offset or name changes.
 long previousTransition(long instant)
          Retreats the given instant to where the time zone offset or name changes.
 TimeZone toTimeZone()
          Override to return the correct timzone instance.
 
Methods inherited from class org.joda.time.DateTimeZone
adjustOffset, convertLocalToUTC, convertLocalToUTC, convertUTCToLocal, forID, forOffsetHours, forOffsetHoursMinutes, forOffsetMillis, forTimeZone, getAvailableIDs, getDefault, getID, getMillisKeepLocal, getName, getName, getNameProvider, getOffset, getProvider, getShortName, getShortName, isLocalDateTimeGap, isStandardOffset, setDefault, setNameProvider, setProvider, toString, writeReplace
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FixedDateTimeZone

public FixedDateTimeZone(String id,
                         String nameKey,
                         int wallOffset,
                         int standardOffset)
Method Detail

getNameKey

public String getNameKey(long instant)
Description copied from class: DateTimeZone
Returns a non-localized name that is unique to this time zone. It can be combined with id to form a unique key for fetching localized names.

Specified by:
getNameKey in class DateTimeZone
Parameters:
instant - milliseconds from 1970-01-01T00:00:00Z to get the name for
Returns:
name key or null if id should be used for names

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.

This method will return an offset suitable for calculating an instant after any DST gap. For example, consider a zone with a cutover from 01:00 to 01:59:
Input: 00:00 Output: 00:00
Input: 00:30 Output: 00:30
Input: 01:00 Output: 02:00
Input: 01:30 Output: 02:30
Input: 02:00 Output: 02:00
Input: 02:30 Output: 02:30

During a DST overlap (where the local time is ambiguous) this method will return the earlier instant. The combination of these two rules is to always favour daylight (summer) time over standard (winter) time.

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.

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

toTimeZone

public TimeZone toTimeZone()
Override to return the correct timzone instance.

Overrides:
toTimeZone in class DateTimeZone
Returns:
the closest matching TimeZone object
Since:
1.5

equals

public boolean equals(Object obj)
Description copied from class: DateTimeZone
Compare this datetime zone with another.

Specified by:
equals in class DateTimeZone
Parameters:
obj - the object to compare with
Returns:
true if equal, based on the ID and all internal rules

hashCode

public int hashCode()
Description copied from class: DateTimeZone
Gets a hash code compatable with equals.

Overrides:
hashCode in class DateTimeZone
Returns:
suitable hashcode


Copyright © 2002-2013 Joda.org. All Rights Reserved.