Class BclDateTimeZoneSource
Provides an implementation of IDateTimeZoneSource that loads data from the BCL
System.TimeZoneInfo class.
Since 1.0.x
Availability net35-Client
Inheritance
Object
BclDateTimeZoneSource
Implements
Inherited Members
Object.ToString()
Object.Equals(Object)
Object.Equals(Object, Object)
Object.ReferenceEquals(Object, Object)
Object.GetHashCode()
Object.GetType()
Object.MemberwiseClone()
Namespace: NodaTime.TimeZones
Assembly: NodaTime.dll
Syntax
public sealed class BclDateTimeZoneSource : IDateTimeZoneSource
Remarks
All calls to ForId(String) return instances of BclDateTimeZone, including for fixed-offset IDs (i.e. "UTC" and "UTC+/-Offset").
This class is not available in the PCL version.
Properties
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.0.x
Availability net35-Client
Declaration
public string VersionId { get; }
Property Value
Type | Description |
---|---|
String |
Remarks
This source returns a string such as "TimeZoneInfo: 3.5.0.0" corresponding to the version of the assembly
containing System.TimeZoneInfo.
Methods
ForId(String)
Creates a new instance of BclDateTimeZone from the System.TimeZoneInfo with the given
ID. The ID must be a known system time zone ID.
Since 1.0.x
Availability net35-Client
Declaration
public BclDateTimeZone ForId(string id)
Parameters
Type | Name | Description |
---|---|---|
String | id | The ID of the system time zone to convert |
Returns
Type | Description |
---|---|
BclDateTimeZone | The Noda Time representation of the given BCL time zone |
Exceptions
Type | Condition |
---|---|
ArgumentException | The given zone doesn't exist. |
GetIds()
Returns the IDs of all system time zones.
Since 1.0.x
Availability net35-Client
Declaration
public IEnumerable<string> GetIds()
Returns
Type | Description |
---|---|
IEnumerable<String> | The IDs available from this source. |
MapTimeZoneId(TimeZoneInfo)
Maps the BCL ID to "our" ID as an identity projection.
Since 1.0.x
Availability net35-Client
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 timeZone)
Parameters
Type | Name | Description |
---|---|---|
TimeZoneInfo | timeZone | The BCL time zone, which must be a known system time zone. |
Returns
Type | Description |
---|---|
String |
The ID for the given BCL time zone for this source; that is, the value of the Id property of the
passed-in System.TimeZoneInfo.
|
Explicit Interface Implementations
IDateTimeZoneSource.ForId(String)
Creates a new instance of BclDateTimeZone from the System.TimeZoneInfo with the given
ID. The ID must be a known system time zone ID.
Since 1.0.x
Availability net35-Client
Declaration
DateTimeZone IDateTimeZoneSource.ForId(string id)
Parameters
Type | Name | Description |
---|---|---|
String | id |
Returns
Type | Description |
---|---|
DateTimeZone |
Remarks
This method explicitly implements ForId(String) by delegating to the
ForId(String) method which has a return type of BclDateTimeZone, ensuring that all
zones returned by this implementation are instances of BclDateTimeZone (rather than the built-in
fixed offset zones).