Class std.datetime.PosixTimeZone
Represents a time zone from a TZ Database time zone file. Files from the TZ
Database are how Posix systems hold their time zone information.
Unfortunately, Windows does not use the TZ Database. To use the TZ Database,
use
(which reads its information from the TZ Database
files on disk) on Windows by providing the TZ Database files and telling
PosixTimeZone
where the directory holding them is.
PosixTimeZone.getTimeZone
To get a
, either call PosixTimeZone
(which allows specifying the location the time zone files) or call
PosixTimeZone.getTimeZone
(which will give a TimeZone.getTimeZone
on Posix
systems and a PosixTimeZone
WindowsTimeZone
on Windows systems).
Inherits from
-
(base class)TimeZone
Properties
Name | Type | Description |
---|---|---|
hasDST
[get]
|
bool |
Whether this time zone has Daylight Savings Time at any point in time.
Note that for some time zone types it may not have DST for current
dates but will still return true for because the time zone
did at some point have DST.
|
dstName
[get]
|
string |
Typically, the abbreviation (generally 3 or 4 letters) for the time zone when DST is in effect (e.g. PDT). It is not necessarily unique. |
name
[get]
|
string |
The name of the time zone per the TZ Database. This is the name used to
get a .TimeZone , TimeZone by name with .
|
stdName
[get]
|
string |
Typically, the abbreviation (generally 3 or 4 letters) for the time zone when DST is not in effect (e.g. PST). It is not necessarily unique. |
Methods
Name | Description |
---|---|
dstInEffect
|
Takes the number of hnsecs (100 ns) since midnight, January 1st, 1 A.D.
in UTC time (i.e. std time) and returns whether DST is in effect in this
time zone at the given point in time.
|
getInstalledTZNames
|
Returns a list of the names of the time zones installed on the system. |
getTimeZone
|
Returns a .TimeZone , TimeZone with the give name per the TZ Database. The time
zone information is fetched from the TZ Database time zone files in the
given directory.
|
tzToUTC
|
Takes the number of hnsecs (100 ns) since midnight, January 1st, 1 A.D.
in this time zone's time and converts it to UTC (i.e. std time).
|
utcToTZ
|
Takes the number of hnsecs (100 ns) since midnight, January 1st, 1 A.D.
in UTC time (i.e. std time) and converts it to this time zone's time.
|
factory
|
Create instance of class specified by the fully qualified name
classname .
The class must either have no constructors or have
a default constructor.
|
getInstalledTZNames
|
Returns a list of the names of the time zones installed on the system. |
getTimeZone
|
Returns a .TimeZone , TimeZone with the give name per the TZ Database.
|
opCmp
|
Compare with another Object obj.
|
opEquals
|
Returns !=0 if this object does have the same contents as obj.
|
toHash
|
Compute hash function for Object .
|
toString
|
Convert Object to a human readable string.
|
utcOffsetAt
|
Returns what the offset from UTC is at the given std time.
It includes the DST offset in effect at that time (if any).
|
Note
Unless your system's local time zone deals with leap seconds (which is
highly unlikely), then the only way to get a time zone which
takes leap seconds into account is to use PosixTimeZone
with a
time zone whose name
starts with "right/". Those time zone files do
include leap seconds, and PosixTimeZone
will take them into account
(though posix systems which use a "right/" time zone as their local time
zone will not take leap seconds into account even though they're
in the file).
See Also
Home of the TZ Database files
Wikipedia entry on TZ Database
List of Time
Zones
Authors
Jonathan M Davis and Kato Shoichi