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>