Early Preview
This is currently very much a preview. Please feel free to try things out,
but don't be upset if anything is not yet working. Feedback is welcome over on our
GitHub Dicussions page.
class NodaTime.​TimeZones.​Cldr.​WindowsZones
Assembly: NodaTime
Inheritance: object → WindowsZones
Representation of the <c><windowsZones></c> element of CLDR supplemental data.
Remarks
See <a href="http://cldr.unicode.org/development/development-process/design-proposals/extended-windows-olson-zid-mapping">the CLDR design proposal</a>
for more details of the structure of the file from which data is taken.
Properties
public
string
Version
Gets the version of the Windows zones mapping data read from the original file.
Remarks As with other IDs, this should largely be treated as an opaque string, but the current method for
generating this from the mapping file extracts a number from an element such as <c><version number="$Revision: 7825 $"/></c> .
This is a Subversion revision number, but that association should only be used for diagnostic curiosity, and never
assumed in code.
public
string
TzdbVersion
Gets the TZDB version this Windows zone mapping data was created from.
Remarks The CLDR mapping file usually lags behind the TZDB file somewhat - partly because the
mappings themselves don't always change when the time zone data does. For example, it's entirely
reasonable for a <see cref="T:NodaTime.TimeZones.TzdbDateTimeZoneSource" /> with a <see cref="P:NodaTime.TimeZones.TzdbDateTimeZoneSource.TzdbVersion">TzdbVersion</see> of
"2013b" to be supply a <c>WindowsZones</c> object with a <c>TzdbVersion</c> of "2012f".
public
string
WindowsVersion
Gets the Windows time zone database version this Windows zone mapping data was created from.
Remarks At the time of this writing, this is populated (by CLDR) from the registry key
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\TzVersion,
so "7dc0101" for example.
public
System.​Collections.​Generic.​IList<​MapZone>
MapZones
Gets an immutable collection of mappings from Windows system time zones to
TZDB time zones.
Remarks <para>
Each mapping consists of a single Windows time zone ID and a single
territory to potentially multiple TZDB IDs that are broadly equivalent to that Windows zone/territory
pair.
</para> <para>
Mappings for a single Windows system time zone can appear multiple times
in this list, in different territories. For example, "Central Standard Time"
maps to different TZDB zones in different countries (the US, Canada, Mexico) and
even within a single territory there can be multiple zones. Every Windows system time zone covered within
this collection has a "primary" entry with a territory code of "001" (which is the value of
<see cref="F:NodaTime.TimeZones.Cldr.MapZone.PrimaryTerritory" />) and a single corresponding TZDB zone.
</para> <para>This collection is not guaranteed to cover every Windows time zone. Some zones may be unmappable
(such as "Mid-Atlantic Standard Time") and there can be a delay between a new Windows time zone being introduced
and it appearing in CLDR, ready to be used by Noda Time. (There's also bound to be a delay between it appearing
in CLDR and being used in your production system.) In practice however, you're unlikely to wish to use a time zone
which isn't covered here.</para>
public
System.​Collections.​Generic.​IDictionary<​string, string>
PrimaryMapping
Gets an immutable dictionary of primary mappings, from Windows system time zone ID
to TZDB zone ID. This corresponds to the "001" territory which is present for every zone
within the mapping file.
Remarks <para>
Each value in the dictionary is a canonical ID in CLDR, but it may not be canonical
in TZDB. For example, the ID corresponding to "India Standard Time" is "Asia/Calcutta", which
is canonical in CLDR but is an alias in TZDB for "Asia/Kolkata". To obtain a canonical TZDB
ID, use <see cref="P:NodaTime.TimeZones.TzdbDateTimeZoneSource.CanonicalIdMap" />.
</para>
Methods
public
bool
Equals​(object obj)
Inherited from object
protected
void
Finalize​()
Inherited from object
public
int
GetHashCode​()
Inherited from object
protected
object
MemberwiseClone​()
Inherited from object
public
string
ToString​()
Inherited from object