Class TzdbDateTimeZoneSource
Provides an implementation of
IDateTimeZoneSource that loads data originating from the
tz database (also known as the IANA Time Zone database, or zoneinfo
or Olson database).
Since 1.4.x
Availability net35-Client, PCL
Inheritance
Object
TzdbDateTimeZoneSource
Inherited Members
Object.ToString()
Object.Equals(Object)
Object.Equals(Object, Object)
Object.ReferenceEquals(Object, Object)
Object.GetHashCode()
Object.GetType()
Object.MemberwiseClone()
Assembly: NodaTime.dll
Syntax
public sealed class TzdbDateTimeZoneSource : IDateTimeZoneSource
Constructors
TzdbDateTimeZoneSource(ResourceManager)
Since 1.4.x
Availability net35-Client
Declaration
[Obsolete("The resource format for time zone data is deprecated; future versions will only support blob-based data")]
public TzdbDateTimeZoneSource(ResourceManager manager)
Parameters
Type |
Name |
Description |
ResourceManager |
manager |
The System.Resources.ResourceManager to search for the time zone resources. |
Exceptions
TzdbDateTimeZoneSource(ResourceSet)
Since 1.4.x
Availability net35-Client
Declaration
[Obsolete("The resource format for time zone data is deprecated; future versions will only support blob-based data")]
public TzdbDateTimeZoneSource(ResourceSet source)
Parameters
Type |
Name |
Description |
ResourceSet |
source |
The System.Resources.ResourceSet to search for the time zone resources. |
Exceptions
TzdbDateTimeZoneSource(String)
Since 1.4.x
Availability net35-Client
Declaration
[Obsolete("Use TzdbDateTimeZoneSource.Default to access the only TZDB resources within the NodaTime assembly")]
public TzdbDateTimeZoneSource(string baseName)
Parameters
Type |
Name |
Description |
String |
baseName |
The root name of the resource file. |
Exceptions
Type |
Condition |
InvalidNodaDataException |
The data within the resource is invalid. |
System.Resources.MissingManifestResourceException |
The resource set cannot be found. |
TzdbDateTimeZoneSource(String, Assembly)
Since 1.4.x
Availability net35-Client
Declaration
[Obsolete("The resource format for time zone data is deprecated; future versions will only support blob-based data")]
public TzdbDateTimeZoneSource(string baseName, Assembly assembly)
Parameters
Type |
Name |
Description |
String |
baseName |
The root name of the resource file. |
Assembly |
assembly |
The assembly to search for the time zone resources. |
Exceptions
Type |
Condition |
InvalidNodaDataException |
The data within the resource is invalid. |
System.Resources.MissingManifestResourceException |
The resource set cannot be found. |
Properties
Aliases
Returns a lookup from canonical time zone ID (e.g. "Europe/London") to a group of aliases for that time zone
(e.g. {"Europe/Belfast", "Europe/Guernsey", "Europe/Jersey", "Europe/Isle_of_Man", "GB", "GB-Eire"}).
Since 1.4.x
Availability net35-Client, PCL
Declaration
public ILookup<string, string> Aliases { get; }
Property Value
Type |
Description |
ILookup<String, String> |
A lookup from canonical ID to the aliases of that ID. |
CanonicalIdMap
Returns a read-only map from time zone ID to the canonical ID. For example, the key "Europe/Jersey"
would be associated with the value "Europe/London".
Since 1.4.x
Availability net35-Client, PCL
Declaration
public IDictionary<string, string> CanonicalIdMap { get; }
Property Value
Type |
Description |
IDictionary<String, String> |
A map from time zone ID to the canonical ID. |
Default
Since 1.4.x
Availability net35-Client, PCL
Declaration
public static TzdbDateTimeZoneSource Default { get; }
Property Value
TzdbVersion
Returns just the TZDB version (e.g. "2013a") of the source data.
Since 1.4.x
Availability net35-Client, PCL
Declaration
public string TzdbVersion { get; }
Property Value
VersionId
Returns an appropriate version ID for diagnostic purposes, which must not be null.
This doesn't have any specific format; it's solely for diagnostic purposes.
The included sources return strings of the format "source identifier: source version" indicating where the
information comes from and which version of the source information has been loaded.
Since 1.4.x
Availability net35-Client, PCL
Declaration
public string VersionId { get; }
Property Value
WindowsMapping
Gets the Windows time zone mapping information provided in the CLDR
supplemental "windowsZones.xml" file.
Since 1.4.x
Availability net35-Client, PCL
Declaration
public WindowsZones WindowsMapping { get; }
Property Value
ZoneLocations
Returns a read-only list of zone locations known to this source.
Since 1.4.x
Availability net35-Client, PCL
Declaration
public IList<TzdbZoneLocation> ZoneLocations { get; }
Property Value
Exceptions
Type |
Condition |
System.InvalidOperationException |
This is a legacy resource-based data source which does
not include location information. |
Methods
ForId(String)
Returns the time zone definition associated with the given ID.
Since 1.4.x
Availability net35-Client, PCL
Declaration
public DateTimeZone ForId(string id)
Parameters
Type |
Name |
Description |
String |
id |
The ID of the time zone to return. This must be one of the IDs
returned by GetIds(). |
Returns
Exceptions
Type |
Condition |
ArgumentException |
id is not supported by this source. |
FromStream(Stream)
Creates an instance from a stream in the custom Noda Time format. The stream must be readable.
Since 1.4.x
Availability net35-Client, PCL
Declaration
public static TzdbDateTimeZoneSource FromStream(Stream stream)
Parameters
Type |
Name |
Description |
Stream |
stream |
The stream containing time zone data |
Returns
Exceptions
Type |
Condition |
InvalidNodaDataException |
The stream contains invalid time zone data, or data which cannot
be read by this version of Noda Time. |
System.IO.IOException |
Reading from the stream failed. |
System.InvalidOperationException |
The supplied stream doesn't support reading. |
ArgumentNullException |
stream is null. |
GetIds()
Returns an unordered enumeration of the IDs available from this source.
Since 1.4.x
Availability net35-Client, PCL
Declaration
public IEnumerable<string> GetIds()
Returns
Type |
Description |
IEnumerable<String> |
The IDs available from this source. |
MapTimeZoneId(TimeZoneInfo)
Returns this source's corresponding ID for the given BCL time zone.
Since 1.4.x
Availability net35-Client, PCL
Declaration
[Obsolete("Only the system default time zone can be mapped in 2.0, using GetSystemDefaultId. For other time zones, use source-specific members.")]
public string MapTimeZoneId(TimeZoneInfo zone)
Parameters
Type |
Name |
Description |
TimeZoneInfo |
zone |
The BCL time zone, which must be a known system time zone. |
Returns
Type |
Description |
String |
The ID for the given system time zone for this source, or null if the system time
zone has no mapping in this source.
|
Validate()
Validates that the data within this source is consistent with itself.
Since 1.4.x
Availability net35-Client, PCL
Declaration
Exceptions
Implements
Extension Methods