Class ZoneInterval
Represents a range of time for which a particular Offset applies.
Since 1.0.x
Availability net45, netstandard1.3, netstandard2.0
Inheritance
Object
ZoneInterval
Implements
IEquatable<ZoneInterval>
Inherited Members
Object.Equals(Object, Object)
Object.ReferenceEquals(Object, Object)
Object.GetType()
Object.MemberwiseClone()
Namespace: NodaTime.TimeZones
Assembly: NodaTime.dll
Syntax
public sealed class ZoneInterval : IEquatable<ZoneInterval>
Constructors
ZoneInterval(String, Nullable<Instant>, Nullable<Instant>, Offset, Offset)
Initializes a new instance of the ZoneInterval class.
Since 2.0.x
Availability net45, netstandard1.3, netstandard2.0
Declaration
public ZoneInterval(string name, Instant? start, Instant? end, Offset wallOffset, Offset savings)
Parameters
| Type | Name | Description |
|---|---|---|
| String | name | The name of this offset period (e.g. PST or PDT). |
| Nullable<Instant> | start | The first Instant that the wallOffset applies,
or null to make the zone interval extend to the start of time. |
| Nullable<Instant> | end | The last Instant (exclusive) that the wallOffset applies,
or null to make the zone interval extend to the end of time. |
| Offset | wallOffset | The WallOffset from UTC for this period including any daylight savings. |
| Offset | savings | The WallOffset daylight savings contribution to the offset. |
Exceptions
| Type | Condition |
|---|---|
| ArgumentException | If . |
| ArgumentNullException | name is null. |
Properties
Duration
Gets the duration of this zone interval.
Since 1.0.x
Availability net45, netstandard1.3, netstandard2.0
Declaration
public Duration Duration { get; }
Property Value
| Type | Description |
|---|---|
| Duration | The Duration of this zone interval. |
Remarks
This is effectively
End - Start.
Exceptions
| Type | Condition |
|---|---|
| System.InvalidOperationException | This zone extends to the start or end of time. |
End
Gets the last Instant (exclusive) that the Offset applies.
Since 1.0.x
Availability net45, netstandard1.3, netstandard2.0
Declaration
public Instant End { get; }
Property Value
| Type | Description |
|---|---|
| Instant | The last Instant (exclusive) that the Offset applies. |
Exceptions
| Type | Condition |
|---|---|
| System.InvalidOperationException | The zone interval extends to the end of time |
HasEnd
Returns
true if this zone interval has a fixed end point, or false if it
extends to the end of time.
Since 2.0.x
Availability net45, netstandard1.3, netstandard2.0
Declaration
public bool HasEnd { get; }
Property Value
| Type | Description |
|---|---|
| Boolean | true if this interval has a fixed end point, or false if it
extends to the end of time. |
HasStart
Returns
true if this zone interval has a fixed start point, or false if it
extends to the beginning of time.
Since 2.0.x
Availability net45, netstandard1.3, netstandard2.0
Declaration
public bool HasStart { get; }
Property Value
| Type | Description |
|---|---|
| Boolean | true if this interval has a fixed start point, or false if it
extends to the beginning of time. |
IsoLocalEnd
Gets the local end time of the interval, as a LocalDateTime
in the ISO calendar.
Since 1.0.x
Availability net45, netstandard1.3, netstandard2.0
Declaration
public LocalDateTime IsoLocalEnd { get; }
Property Value
| Type | Description |
|---|---|
| LocalDateTime | The local end time of the interval in the ISO calendar, with the offset of this zone interval. As the end time is exclusive, by the time this local time is reached, the next interval will be in effect and the local time will usually have changed (e.g. by adding or subtracting an hour). |
Exceptions
| Type | Condition |
|---|---|
| System.OverflowException | The interval ends too late to represent as a `LocalDateTime`. |
| System.InvalidOperationException | The interval extends to the end of time. |
IsoLocalStart
Gets the local start time of the interval, as a LocalDateTime
in the ISO calendar.
Since 1.0.x
Availability net45, netstandard1.3, netstandard2.0
Declaration
public LocalDateTime IsoLocalStart { get; }
Property Value
| Type | Description |
|---|---|
| LocalDateTime | The local start time of the interval in the ISO calendar, with the offset of this zone interval. |
Exceptions
| Type | Condition |
|---|---|
| System.OverflowException | The interval starts too early to represent as a `LocalDateTime`. |
| System.InvalidOperationException | The interval extends to the start of time. |
Name
Gets the name of this offset period (e.g. PST or PDT).
Since 1.0.x
Availability net45, netstandard1.3, netstandard2.0
Declaration
public string Name { get; }
Property Value
| Type | Description |
|---|---|
| String | The name of this offset period (e.g. PST or PDT). (The value returned is never null.) |
Savings
Gets the daylight savings value for this period.
Since 1.0.x
Availability net45, netstandard1.3, netstandard2.0
Declaration
public Offset Savings { get; }
Property Value
| Type | Description |
|---|---|
| Offset | The savings value. |
StandardOffset
Gets the standard offset for this period. This is the offset without any daylight savings
contributions.
Since 1.0.x
Availability net45, netstandard1.3, netstandard2.0
Declaration
public Offset StandardOffset { get; }
Property Value
| Type | Description |
|---|---|
| Offset | The base Offset. |
Remarks
This is effectively
WallOffset - Savings.
Start
Gets the first Instant that the Offset applies.
Since 1.0.x
Availability net45, netstandard1.3, netstandard2.0
Declaration
public Instant Start { get; }
Property Value
| Type | Description |
|---|---|
| Instant | The first Instant that the Offset applies. |
WallOffset
Gets the offset from UTC for this period. This includes any daylight savings value.
Since 1.0.x
Availability net45, netstandard1.3, netstandard2.0
Declaration
public Offset WallOffset { get; }
Property Value
| Type | Description |
|---|---|
| Offset | The offset from UTC for this period. |
Methods
Contains(Instant)
Determines whether this period contains the given Instant in its range.
Since 1.0.x
Availability net45, netstandard1.3, netstandard2.0
Declaration
public bool Contains(Instant instant)
Parameters
| Type | Name | Description |
|---|---|---|
| Instant | instant | The instant to test. |
Returns
| Type | Description |
|---|---|
| Boolean |
true if this period contains the given Instant in its range; otherwise, false.
|
Remarks
Usually this is half-open, i.e. the end is exclusive, but an interval with an end point of "the end of time"
is deemed to be inclusive at the end.
Equals(ZoneInterval)
Indicates whether the current object is equal to another object of the same type.
Since 1.0.x
Availability net45, netstandard1.3, netstandard2.0
Declaration
public bool Equals(ZoneInterval other)
Parameters
| Type | Name | Description |
|---|---|---|
| ZoneInterval | other | An object to compare with this object. |
Returns
| Type | Description |
|---|---|
| Boolean |
true if the current object is equal to the other parameter; otherwise, false.
|
Equals(Object)
Determines whether the specified System.Object is equal to the current System.Object.
Since 1.0.x
Availability net45, netstandard1.3, netstandard2.0
Declaration
public override bool Equals(object obj)
Parameters
| Type | Name | Description |
|---|---|---|
| Object | obj | The System.Object to compare with the current System.Object. |
Returns
| Type | Description |
|---|---|
| Boolean |
true if the specified System.Object is equal to the current System.Object; otherwise, false.
|
Overrides
System.Object.Equals(System.Object)
GetHashCode()
Serves as a hash function for a particular type.
Since 1.0.x
Availability net45, netstandard1.3, netstandard2.0
Declaration
public override int GetHashCode()
Returns
| Type | Description |
|---|---|
| Int32 | A hash code for the current System.Object. |
Overrides
System.Object.GetHashCode()
ToString()
Returns a System.String that represents this instance.
Since 1.0.x
Availability net45, netstandard1.3, netstandard2.0
Declaration
public override string ToString()
Returns
| Type | Description |
|---|---|
| String | A System.String that represents this instance. |
Overrides
System.Object.ToString()
Implements
System.IEquatable<T>