Struct Interval
An interval between two instants in time (start and end).
Since 1.0.x
Availability net35-Client, PCL
Inherited Members
Object.Equals(Object, Object)
Object.ReferenceEquals(Object, Object)
Object.GetType()
Namespace: NodaTime
Assembly: NodaTime.dll
Syntax
[Serializable]
public struct Interval : IEquatable<Interval>, IXmlSerializable, ISerializable
Remarks
The interval includes the start instant and excludes the end instant, unless the end instant is MaxValue in which case it's deemed to be inclusive. (An interval stretching to infinity includes the end of time.)
The end may equal the start (resulting in an empty interval), but will not be before the start.
Constructors
Interval(Instant, Instant)
Initializes a new instance of the Interval struct.
The interval includes the
start
instant and excludes the
end
instant. The end may equal the start (resulting in an empty interval), but must not be before the start.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public Interval(Instant start, Instant end)
Parameters
Type | Name | Description |
---|---|---|
Instant | start | The start Instant. |
Instant | end | The end Instant. |
Exceptions
Type | Condition |
---|---|
ArgumentOutOfRangeException | end is earlier than start . |
Properties
Duration
Returns the duration of the interval.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public Duration Duration { get; }
Property Value
Type | Description |
---|---|
Duration | The duration of the interval. |
Remarks
This will always be a non-negative duration, though it may be zero.
End
Gets the end instant - the exclusive upper bound of the interval.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public Instant End { get; }
Property Value
Type | Description |
---|---|
Instant | The end Instant. |
Remarks
This will never be earlier than Start, though it may be equal to it.
If this value is MaxValue, it is treated as an inclusive
upper bound: an interval stretching to infinity includes the end of time.
Start
Gets the start instant - the inclusive lower bound of the interval.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public Instant Start { get; }
Property Value
Type | Description |
---|---|
Instant | The start Instant. |
Remarks
This will never be later than End, though it may be equal to it.
Methods
Contains(Instant)
Returns whether or not this interval contains the given instant.
Since 1.2.x
Availability net35-Client, PCL
Declaration
public bool Contains(Instant instant)
Parameters
Type | Name | Description |
---|---|---|
Instant | instant | Instant to test. |
Returns
Type | Description |
---|---|
Boolean | True if this interval contains the given instant; false otherwise. |
Remarks
The interval is considered to include the Start instant but
not the End instant - unless the end is MaxValue, in
which case it's considered to be infinite from the start point onwards.
Equals(Interval)
Indicates whether the value of this interval is equal to the value of the specified interval.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public bool Equals(Interval other)
Parameters
Type | Name | Description |
---|---|---|
Interval | other | The value to compare with this instance. |
Returns
Type | Description |
---|---|
Boolean |
true if the value of this instant is equal to the value of the other parameter;
otherwise, false.
|
Equals(Object)
Determines whether the specified System.Object is equal to this instance.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public override bool Equals(object obj)
Parameters
Type | Name | Description |
---|---|---|
Object | obj | The System.Object to compare with this instance. |
Returns
Type | Description |
---|---|
Boolean |
true if the specified System.Object is equal to this instance;
otherwise, false .
|
Overrides
System.ValueType.Equals(System.Object)
GetHashCode()
Returns the hash code for this instance.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public override int GetHashCode()
Returns
Type | Description |
---|---|
Int32 | A 32-bit signed integer that is the hash code for this instance. |
Overrides
System.ValueType.GetHashCode()
ToString()
Returns a string representation of this interval, in extended ISO-8601 format: the format
is "start/end" where each instant uses a format of "yyyy'-'MM'-'dd'T'HH':'mm':'ss;FFFFFFF'Z'".
Since 1.0.x
Availability net35-Client, PCL
Declaration
public override string ToString()
Returns
Type | Description |
---|---|
String | A string representation of this interval. |
Overrides
System.ValueType.ToString()
Operators
Equality(Interval, Interval)
Implements the operator ==.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public static bool operator ==(Interval left, Interval right)
Parameters
Type | Name | Description |
---|---|---|
Interval | left | The left. |
Interval | right | The right. |
Returns
Type | Description |
---|---|
Boolean | The result of the operator. |
Inequality(Interval, Interval)
Implements the operator !=.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public static bool operator !=(Interval left, Interval right)
Parameters
Type | Name | Description |
---|---|---|
Interval | left | The left. |
Interval | right | The right. |
Returns
Type | Description |
---|---|
Boolean | The result of the operator. |
Explicit Interface Implementations
ISerializable.GetObjectData(SerializationInfo, StreamingContext)
Implementation of System.Runtime.Serialization.ISerializable.GetObjectData(System.Runtime.Serialization.SerializationInfo, System.Runtime.Serialization.StreamingContext).
Since 1.2.x
Availability net35-Client
Declaration
[SecurityCritical]
void ISerializable.GetObjectData(SerializationInfo info, StreamingContext context)
Parameters
Type | Name | Description |
---|---|---|
SerializationInfo | info | The System.Runtime.Serialization.SerializationInfo to populate with data. |
StreamingContext | context | The destination for this serialization. |
IXmlSerializable.GetSchema()
Since 1.2.x
Availability net35-Client, PCL
Declaration
XmlSchema IXmlSerializable.GetSchema()
Returns
Type | Description |
---|---|
XmlSchema |
IXmlSerializable.ReadXml(XmlReader)
Since 1.2.x
Availability net35-Client, PCL
Declaration
void IXmlSerializable.ReadXml(XmlReader reader)
Parameters
Type | Name | Description |
---|---|---|
XmlReader | reader |
IXmlSerializable.WriteXml(XmlWriter)
Since 1.2.x
Availability net35-Client, PCL
Declaration
void IXmlSerializable.WriteXml(XmlWriter writer)
Parameters
Type | Name | Description |
---|---|---|
XmlWriter | writer |
Implements
System.IEquatable<T>
System.Xml.Serialization.IXmlSerializable
System.Runtime.Serialization.ISerializable