Class DateInterval
Implements
Inherited Members
Namespace: NodaTime
Assembly: NodaTime.dll
Syntax
public sealed class DateInterval : IEquatable<DateInterval>
Remarks
The two dates must be in the same calendar, and the end date must not be earlier than the start date.
The end date is deemed to be part of the range, as this matches many real life uses of date ranges. For example, if someone says "I'm going to be on holiday from Monday to Friday," they usually mean that Friday is part of their holiday.
Constructors
DateInterval(LocalDate, LocalDate)
Declaration
public DateInterval(LocalDate start, LocalDate end)
Parameters
Type | Name | Description |
---|---|---|
LocalDate | start | Start date of the interval |
LocalDate | end | End date of the interval |
Remarks
The two dates must be in the same calendar, and the end date must not be earlier than the start date.
The end date is deemed to be part of the range, as this matches many real life uses of date ranges. For example, if someone says "I'm going to be on holiday from Monday to Friday," they usually mean that Friday is part of their holiday.
Exceptions
Type | Condition |
---|---|
ArgumentException | end is earlier than start
or the two dates are in different calendars.
|
Properties
End
Declaration
public LocalDate End { get; }
Property Value
Type | Description |
---|---|
LocalDate | The end date of the interval. |
Remarks
The two dates must be in the same calendar, and the end date must not be earlier than the start date.
The end date is deemed to be part of the range, as this matches many real life uses of date ranges. For example, if someone says "I'm going to be on holiday from Monday to Friday," they usually mean that Friday is part of their holiday.
Length
Declaration
public int Length { get; }
Property Value
Type | Description |
---|---|
Int32 | The length of this date interval in days. |
Remarks
The two dates must be in the same calendar, and the end date must not be earlier than the start date.
The end date is deemed to be part of the range, as this matches many real life uses of date ranges. For example, if someone says "I'm going to be on holiday from Monday to Friday," they usually mean that Friday is part of their holiday.
Start
Declaration
public LocalDate Start { get; }
Property Value
Type | Description |
---|---|
LocalDate | The start date of the interval. |
Remarks
The two dates must be in the same calendar, and the end date must not be earlier than the start date.
The end date is deemed to be part of the range, as this matches many real life uses of date ranges. For example, if someone says "I'm going to be on holiday from Monday to Friday," they usually mean that Friday is part of their holiday.
Methods
Contains(LocalDate)
Declaration
public bool Contains(LocalDate date)
Parameters
Type | Name | Description |
---|---|---|
LocalDate | date | The date to check for containment within this interval. |
Returns
Type | Description |
---|---|
Boolean | true if date is within this interval; false otherwise. |
Remarks
The two dates must be in the same calendar, and the end date must not be earlier than the start date.
The end date is deemed to be part of the range, as this matches many real life uses of date ranges. For example, if someone says "I'm going to be on holiday from Monday to Friday," they usually mean that Friday is part of their holiday.
Exceptions
Type | Condition |
---|---|
ArgumentException | date is not in the same
calendar as the start and end date of this interval. |
Equals(DateInterval)
Declaration
public bool Equals(DateInterval other)
Parameters
Type | Name | Description |
---|---|---|
DateInterval | other | The date interval to compare this one with. |
Returns
Type | Description |
---|---|
Boolean | True if this date interval has the same same start and end date as the one specified. |
Remarks
Equals(Object)
Declaration
public override bool Equals(object obj)
Parameters
Type | Name | Description |
---|---|---|
Object | obj | The value to compare this one with. |
Returns
Type | Description |
---|---|
Boolean | true if the other object is a date interval equal to this one, consistent with Equals(DateInterval). |
Overrides
Remarks
The two dates must be in the same calendar, and the end date must not be earlier than the start date.
The end date is deemed to be part of the range, as this matches many real life uses of date ranges. For example, if someone says "I'm going to be on holiday from Monday to Friday," they usually mean that Friday is part of their holiday.
GetHashCode()
Declaration
public override int GetHashCode()
Returns
Type | Description |
---|---|
Int32 | The hash code for this interval. |
Overrides
Remarks
The two dates must be in the same calendar, and the end date must not be earlier than the start date.
The end date is deemed to be part of the range, as this matches many real life uses of date ranges. For example, if someone says "I'm going to be on holiday from Monday to Friday," they usually mean that Friday is part of their holiday.
ToString()
Declaration
public override string ToString()
Returns
Type | Description |
---|---|
String |
A string representation of this interval, as [start, end] ,
where "start" and "end" are the dates formatted using an ISO-8601 compatible pattern.
|
Overrides
Remarks
The two dates must be in the same calendar, and the end date must not be earlier than the start date.
The end date is deemed to be part of the range, as this matches many real life uses of date ranges. For example, if someone says "I'm going to be on holiday from Monday to Friday," they usually mean that Friday is part of their holiday.
Operators
Equality(DateInterval, DateInterval)
Declaration
public static bool operator ==(DateInterval lhs, DateInterval rhs)
Parameters
Type | Name | Description |
---|---|---|
DateInterval | lhs | The first value to compare |
DateInterval | rhs | The second value to compare |
Returns
Type | Description |
---|---|
Boolean | True if the two date intervals have the same properties; false otherwise. |
Remarks
Inequality(DateInterval, DateInterval)
Declaration
public static bool operator !=(DateInterval lhs, DateInterval rhs)
Parameters
Type | Name | Description |
---|---|---|
DateInterval | lhs | The first value to compare |
DateInterval | rhs | The second value to compare |
Returns
Type | Description |
---|---|
Boolean | False if the two date intervals have the same start and end date; true otherwise. |