Class TimeZoneJDK
- All Implemented Interfaces:
Freezable<TimeZone>
,Serializable
,Cloneable
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class com.ibm.icu.util.TimeZone
TimeZone.SystemTimeZoneType
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate boolean
private Calendar
private TimeZone
private static final long
Fields inherited from class com.ibm.icu.util.TimeZone
GENERIC_LOCATION, GMT_ZONE, LONG, LONG_GENERIC, LONG_GMT, SHORT, SHORT_COMMONLY_USED, SHORT_GENERIC, SHORT_GMT, TIMEZONE_ICU, TIMEZONE_JDK, UNKNOWN_ZONE, UNKNOWN_ZONE_ID
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionclone()
Overrides clone.Provides for the clone operation.boolean
Overrides equals.freeze()
Freezes the object.getDisplayName
(boolean daylight, int style, ULocale locale) Returns a name of this time zone suitable for presentation to the user in the specified locale.getDisplayName
(boolean daylight, int style, Locale locale) Returns a name of this time zone suitable for presentation to the user in the specified locale.int
Returns the amount of time to be added to local standard time to get local wall clock time.getID()
Gets the ID of this time zone.int
getOffset
(int era, int year, int month, int day, int dayOfWeek, int milliseconds) Gets the time zone offset, for current date, modified in case of daylight savings.int
getOffset
(long date) Returns the offset of this time zone from UTC at the specified date.void
getOffset
(long date, boolean local, int[] offsets) Returns the time zone raw and GMT offset for the given moment in time.int
Gets unmodified offset, NOT modified in case of daylight savings.int
hashCode()
Overrides hashCode.boolean
hasSameRules
(TimeZone other) Returns true if this zone has the same rule and offset as another zone.boolean
inDaylightTime
(Date date) Queries if the given date is in daylight savings time in this time zone.boolean
isFrozen()
Determines whether the object has been frozen or not.boolean
Queries if this time zone is in daylight saving time or will observe daylight saving time at any future time.void
Sets the time zone ID.void
setRawOffset
(int offsetMillis) Sets the base time zone offset to GMT.unwrap()
boolean
Queries if this time zone uses daylight savings time.static TimeZone
Methods inherited from class com.ibm.icu.util.TimeZone
countEquivalentIDs, forLocaleOrDefault, forULocaleOrDefault, getAvailableIDs, getAvailableIDs, getAvailableIDs, getAvailableIDs, getCanonicalID, getCanonicalID, getDefault, getDefaultTimeZoneType, getDisplayName, getDisplayName, getDisplayName, getDisplayName, getEquivalentID, getFrozenTimeZone, getIanaID, getIDForWindowsID, getRegion, getTimeZone, getTimeZone, getTZDataVersion, getWindowsID, setDefault, setDefaultTimeZoneType, setICUDefault
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
fJdkTz
-
fJdkCal
-
fIsFrozen
private transient volatile boolean fIsFrozen
-
-
Constructor Details
-
TimeZoneJDK
-
-
Method Details
-
wrap
-
unwrap
-
clone
Description copied from class:TimeZone
Overrides clone. -
equals
Description copied from class:TimeZone
Overrides equals. -
getDisplayName
Description copied from class:TimeZone
Returns a name of this time zone suitable for presentation to the user in the specified locale. If the display name is not available for the locale, then this method returns a string in the localized GMT offset format such asGMT[+-]HH:mm
.- Overrides:
getDisplayName
in classTimeZone
- Parameters:
daylight
- if true, return the daylight savings name.style
- the output style of the display name. Valid styles areSHORT
,LONG
,SHORT_GENERIC
,LONG_GENERIC
,SHORT_GMT
,LONG_GMT
,SHORT_COMMONLY_USED
orGENERIC_LOCATION
.locale
- the locale in which to supply the display name.- Returns:
- the human-readable name of this time zone in the given locale or in the default locale if the given locale is not recognized.
-
getDisplayName
Description copied from class:TimeZone
Returns a name of this time zone suitable for presentation to the user in the specified locale. If the display name is not available for the locale, then this method returns a string in the localized GMT offset format such asGMT[+-]HH:mm
.- Overrides:
getDisplayName
in classTimeZone
- Parameters:
daylight
- if true, return the daylight savings name.style
- the output style of the display name. Valid styles areSHORT
,LONG
,SHORT_GENERIC
,LONG_GENERIC
,SHORT_GMT
,LONG_GMT
,SHORT_COMMONLY_USED
orGENERIC_LOCATION
.locale
- the locale in which to supply the display name.- Returns:
- the human-readable name of this time zone in the given locale or in the default locale if the given locale is not recognized.
-
getDSTSavings
public int getDSTSavings()Description copied from class:TimeZone
Returns the amount of time to be added to local standard time to get local wall clock time.The default implementation always returns 3600000 milliseconds (i.e., one hour) if this time zone observes Daylight Saving Time. Otherwise, 0 (zero) is returned.
If an underlying TimeZone implementation subclass supports historical Daylight Saving Time changes, this method returns the known latest daylight saving value.
- Overrides:
getDSTSavings
in classTimeZone
- Returns:
- the amount of saving time in milliseconds
-
getID
Description copied from class:TimeZone
Gets the ID of this time zone. -
getOffset
public int getOffset(int era, int year, int month, int day, int dayOfWeek, int milliseconds) Description copied from class:TimeZone
Gets the time zone offset, for current date, modified in case of daylight savings. This is the offset to add to UTC to get local time.- Specified by:
getOffset
in classTimeZone
- Parameters:
era
- the era of the given date.year
- the year in the given date.month
- the month in the given date. Month is 0-based. e.g., 0 for January.day
- the day-in-month of the given date.dayOfWeek
- the day-of-week of the given date.milliseconds
- the millis in day in standard local time.- Returns:
- the offset to add to GMT to get local time.
-
getOffset
public int getOffset(long date) Description copied from class:TimeZone
Returns the offset of this time zone from UTC at the specified date. If Daylight Saving Time is in effect at the specified date, the offset value is adjusted with the amount of daylight saving. -
getOffset
public void getOffset(long date, boolean local, int[] offsets) Description copied from class:TimeZone
Returns the time zone raw and GMT offset for the given moment in time. Upon return, local-millis = GMT-millis + rawOffset + dstOffset. All computations are performed in the proleptic Gregorian calendar. The default implementation in the TimeZone class delegates to the 8-argument getOffset().- Overrides:
getOffset
in classTimeZone
- Parameters:
date
- moment in time for which to return offsets, in units of milliseconds from January 1, 1970 0:00 GMT, either GMT time or local wall time, depending onlocal
.local
- if true,date
is local wall time; otherwise it is in GMT time.offsets
- output parameter to receive the raw offset, that is, the offset not including DST adjustments, in offsets[0], and the DST offset, that is, the offset to be added torawOffset
to obtain the total offset between local and GMT time, in offsets[1]. If DST is not in effect, the DST offset is zero; otherwise it is a positive value, typically one hour.
-
getRawOffset
public int getRawOffset()Description copied from class:TimeZone
Gets unmodified offset, NOT modified in case of daylight savings. This is the offset to add to UTC to get local time.- Specified by:
getRawOffset
in classTimeZone
- Returns:
- the unmodified offset to add to UTC to get local time.
-
hashCode
public int hashCode()Description copied from class:TimeZone
Overrides hashCode. -
hasSameRules
Description copied from class:TimeZone
Returns true if this zone has the same rule and offset as another zone. That is, if this zone differs only in ID, if at all. Returns false if the other zone is null.- Overrides:
hasSameRules
in classTimeZone
- Parameters:
other
- theTimeZone
object to be compared with- Returns:
- true if the other zone is not null and is the same as this one, with the possible exception of the ID
-
inDaylightTime
Description copied from class:TimeZone
Queries if the given date is in daylight savings time in this time zone.- Specified by:
inDaylightTime
in classTimeZone
- Parameters:
date
- the given Date.- Returns:
- true if the given date is in daylight savings time, false, otherwise.
-
setID
Description copied from class:TimeZone
Sets the time zone ID. This does not change any other data in the time zone object. -
setRawOffset
public void setRawOffset(int offsetMillis) Description copied from class:TimeZone
Sets the base time zone offset to GMT. This is the offset to add to UTC to get local time.- Specified by:
setRawOffset
in classTimeZone
- Parameters:
offsetMillis
- the given base time zone offset to GMT.
-
useDaylightTime
public boolean useDaylightTime()Description copied from class:TimeZone
Queries if this time zone uses daylight savings time.- Specified by:
useDaylightTime
in classTimeZone
- Returns:
- true if this time zone uses daylight savings time,
false, otherwise.
Note:The default implementation of ICU TimeZone uses the tz database, which supports historic rule changes, for system time zones. With the implementation, there are time zones that used daylight savings time in the past, but no longer used currently. For example, Asia/Tokyo has never used daylight savings time since 1951. Most clients would expect that this method to return
false
for such case. The default implementation of this method returnstrue
when the time zone uses daylight savings time in the current (Gregorian) calendar year.
-
observesDaylightTime
public boolean observesDaylightTime()Description copied from class:TimeZone
Queries if this time zone is in daylight saving time or will observe daylight saving time at any future time.The default implementation in this class returns
true
ifTimeZone.useDaylightTime()
orinDaylightTime(new Date())
returnstrue
.Note: This method was added for
TimeZone
compatibility support. TheTimeZone.useDaylightTime()
method only checks the last known rule(s), therefore it may return false even the zone observes daylight saving time currently.TimeZone
addedobservesDaylightTime()
to resolve the issue. In ICU,TimeZone.useDaylightTime()
works differently. The ICU implementation checks if the zone uses daylight saving time in the current calendar year. Therefore, it will never returnfalse
if daylight saving time is currently used.ICU's TimeZone subclass implementations override this method to support the same behavior with
TimeZone.observesDaylightTime()
. UnlikeTimeZone.useDaylightTime()
, the implementation does not take past daylight saving time into account, so that this method may returnfalse
even whenTimeZone.useDaylightTime()
returnstrue
.- Overrides:
observesDaylightTime
in classTimeZone
- Returns:
true
if this time zone is in daylight saving time or will observe daylight saving time at any future time.- See Also:
-
isFrozen
public boolean isFrozen()Description copied from class:TimeZone
Determines whether the object has been frozen or not. -
freeze
Description copied from class:TimeZone
Freezes the object. -
cloneAsThawed
Description copied from class:TimeZone
Provides for the clone operation. Any clone is initially unfrozen.- Specified by:
cloneAsThawed
in interfaceFreezable<TimeZone>
- Overrides:
cloneAsThawed
in classTimeZone
-