Struct LocalDate
LocalDate is an immutable struct representing a date within the calendar,
with no reference to a particular time zone or time of day.
Since 1.0.x
Availability net35-Client, PCL
Implements
IComparable
IFormattable
IXmlSerializable
ISerializable
Inherited Members
Object.Equals(Object, Object)
Object.ReferenceEquals(Object, Object)
Object.GetType()
Assembly: NodaTime.dll
Syntax
[Serializable]
public struct LocalDate : IEquatable<LocalDate>, IComparable<LocalDate>, IComparable, IFormattable, IXmlSerializable, ISerializable
Constructors
LocalDate(Era, Int32, Int32, Int32)
Constructs an instance for the given era, year of era, month and day in the ISO calendar.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public LocalDate(Era era, int yearOfEra, int month, int day)
Parameters
Type |
Name |
Description |
Era |
era |
The era within which to create a date. Must be a valid era within the ISO calendar. |
Int32 |
yearOfEra |
The year of era. |
Int32 |
month |
The month of year. |
Int32 |
day |
The day of month. |
Exceptions
Type |
Condition |
ArgumentOutOfRangeException |
The parameters do not form a valid date. |
LocalDate(Era, Int32, Int32, Int32, CalendarSystem)
Constructs an instance for the given era, year of era, month and day in the specified calendar.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public LocalDate(Era era, int yearOfEra, int month, int day, CalendarSystem calendar)
Parameters
Type |
Name |
Description |
Era |
era |
The era within which to create a date. Must be a valid era within the specified calendar. |
Int32 |
yearOfEra |
The year of era. |
Int32 |
month |
The month of year. |
Int32 |
day |
The day of month. |
CalendarSystem |
calendar |
Calendar system in which to create the date. |
Exceptions
Type |
Condition |
ArgumentOutOfRangeException |
The parameters do not form a valid date. |
ArgumentNullException |
calendar is null. |
LocalDate(Int32, Int32, Int32)
Constructs an instance for the given year, month and day in the ISO calendar.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public LocalDate(int year, int month, int day)
Parameters
Type |
Name |
Description |
Int32 |
year |
The year. This is the "absolute year", so a value of 0 means 1 BC, for example. |
Int32 |
month |
The month of year. |
Int32 |
day |
The day of month. |
Exceptions
Type |
Condition |
ArgumentOutOfRangeException |
The parameters do not form a valid date. |
LocalDate(Int32, Int32, Int32, CalendarSystem)
Constructs an instance for the given year, month and day in the specified calendar.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public LocalDate(int year, int month, int day, CalendarSystem calendar)
Parameters
Type |
Name |
Description |
Int32 |
year |
The year. This is the "absolute year", so, for
the ISO calendar, a value of 0 means 1 BC, for example. |
Int32 |
month |
The month of year. |
Int32 |
day |
The day of month. |
CalendarSystem |
calendar |
Calendar system in which to create the date. |
Exceptions
Type |
Condition |
ArgumentOutOfRangeException |
The parameters do not form a valid date. |
ArgumentNullException |
calendar is null. |
Properties
Calendar
Gets the calendar system associated with this local date.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public CalendarSystem Calendar { get; }
Property Value
Day
Gets the day of this local date within the month.
Since 1.0.x
Availability net35-Client, PCL
Declaration
Property Value
DayOfWeek
Gets the week day of this local date as a number.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public int DayOfWeek { get; }
Property Value
See Also
DayOfYear
Gets the day of this local date within the year.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public int DayOfYear { get; }
Property Value
Era
Gets the era of this local date.
Since 1.0.x
Availability net35-Client, PCL
Declaration
Property Value
IsoDayOfWeek
Gets the week day of this local date expressed as an
IsoDayOfWeek value,
for calendars which use ISO days of the week.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public IsoDayOfWeek IsoDayOfWeek { get; }
Property Value
Exceptions
Type |
Condition |
System.InvalidOperationException |
The underlying calendar doesn't use ISO days of the week. |
See Also
Month
Gets the month of this local date within the year.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public int Month { get; }
Property Value
WeekOfWeekYear
Gets the week within the WeekYear. See
WeekYear for more details.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public int WeekOfWeekYear { get; }
Property Value
WeekYear
Gets the "week year" of this local date.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public int WeekYear { get; }
Property Value
Year
Gets the year of this local date.
Since 1.0.x
Availability net35-Client, PCL
Declaration
Property Value
YearOfCentury
Gets the year of this local date within the century.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public int YearOfCentury { get; }
Property Value
YearOfEra
Gets the year of this local date within the era.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public int YearOfEra { get; }
Property Value
Methods
Add(LocalDate, Period)
Adds the specified period to the date. Friendly alternative to operator+()
.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public static LocalDate Add(LocalDate date, Period period)
Parameters
Type |
Name |
Description |
LocalDate |
date |
The date to add the period to |
Period |
period |
The period to add. Must not contain any (non-zero) time units. |
Returns
Type |
Description |
LocalDate |
The sum of the given date and period |
At(LocalTime)
Since 1.3.x
Availability net35-Client, PCL
Declaration
public LocalDateTime At(LocalTime time)
Parameters
Type |
Name |
Description |
LocalTime |
time |
The time to combine with this date. |
Returns
AtMidnight()
Gets a
LocalDateTime at midnight on the date represented by this local date.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public LocalDateTime AtMidnight()
Returns
CompareTo(LocalDate)
Indicates whether this date is earlier, later or the same as another one.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public int CompareTo(LocalDate other)
Parameters
Type |
Name |
Description |
LocalDate |
other |
The other date to compare this one with |
Returns
Type |
Description |
Int32 |
A value less than zero if this date is earlier than other ;
zero if this date is the same as other ; a value greater than zero if this date is
later than other . |
Equals(LocalDate)
Compares two
LocalDate values for equality. This requires
that the dates be the same, within the same calendar.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public bool Equals(LocalDate other)
Parameters
Type |
Name |
Description |
LocalDate |
other |
The value to compare this date with. |
Returns
Type |
Description |
Boolean |
True if the given value is another local date equal to this one; false otherwise. |
Equals(Object)
Compares two
LocalDate values for equality. This requires
that the dates be the same, within the same calendar.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public override bool Equals(object obj)
Parameters
Type |
Name |
Description |
Object |
obj |
The object to compare this date with. |
Returns
Type |
Description |
Boolean |
True if the given value is another local date equal to this one; false otherwise. |
Overrides
System.ValueType.Equals(System.Object)
FromWeekYearWeekAndDay(Int32, Int32, IsoDayOfWeek)
Returns the local date corresponding to the given "week year", "week of week year", and "day of week"
in the ISO calendar system.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public static LocalDate FromWeekYearWeekAndDay(int weekYear, int weekOfWeekYear, IsoDayOfWeek dayOfWeek)
Parameters
Type |
Name |
Description |
Int32 |
weekYear |
ISO-8601 week year of value to return |
Int32 |
weekOfWeekYear |
ISO-8601 week of week year of value to return |
IsoDayOfWeek |
dayOfWeek |
ISO-8601 day of week to return |
Returns
Type |
Description |
LocalDate |
The date corresponding to the given week year / week of week year / day of week. |
GetHashCode()
Returns a hash code for this local date.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public override int GetHashCode()
Returns
Type |
Description |
Int32 |
A hash code for this local date. |
Overrides
System.ValueType.GetHashCode()
Minus(Period)
Subtracts the specified period from this date. Fluent alternative to operator-()
.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public LocalDate Minus(Period period)
Parameters
Type |
Name |
Description |
Period |
period |
The period to subtract. Must not contain any (non-zero) time units. |
Returns
Type |
Description |
LocalDate |
The result of subtracting the given period from this date. |
Next(IsoDayOfWeek)
Returns the next
LocalDate falling on the specified
IsoDayOfWeek.
This is a strict "next" - if this date on already falls on the target
day of the week, the returned value will be a week later.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public LocalDate Next(IsoDayOfWeek targetDayOfWeek)
Parameters
Type |
Name |
Description |
IsoDayOfWeek |
targetDayOfWeek |
The ISO day of the week to return the next date of. |
Returns
Exceptions
Type |
Condition |
System.InvalidOperationException |
The underlying calendar doesn't use ISO days of the week. |
ArgumentOutOfRangeException |
targetDayOfWeek is not a valid day of the
week (Monday to Sunday). |
Plus(Period)
Adds the specified period to this date. Fluent alternative to operator+()
.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public LocalDate Plus(Period period)
Parameters
Type |
Name |
Description |
Period |
period |
The period to add. Must not contain any (non-zero) time units. |
Returns
Type |
Description |
LocalDate |
The sum of this date and the given period |
PlusDays(Int32)
Returns a new LocalDate representing the current value with the given number of days added.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public LocalDate PlusDays(int days)
Parameters
Type |
Name |
Description |
Int32 |
days |
The number of days to add |
Returns
Type |
Description |
LocalDate |
The current value plus the given number of days. |
PlusMonths(Int32)
Returns a new LocalDate representing the current value with the given number of months added.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public LocalDate PlusMonths(int months)
Parameters
Type |
Name |
Description |
Int32 |
months |
The number of months to add |
Returns
Type |
Description |
LocalDate |
The current date plus the given number of months |
PlusWeeks(Int32)
Returns a new LocalDate representing the current value with the given number of weeks added.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public LocalDate PlusWeeks(int weeks)
Parameters
Type |
Name |
Description |
Int32 |
weeks |
The number of weeks to add |
Returns
Type |
Description |
LocalDate |
The current value plus the given number of weeks. |
PlusYears(Int32)
Returns a new LocalDate representing the current value with the given number of years added.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public LocalDate PlusYears(int years)
Parameters
Type |
Name |
Description |
Int32 |
years |
The number of years to add |
Returns
Type |
Description |
LocalDate |
The current value plus the given number of years. |
Previous(IsoDayOfWeek)
Returns the previous
LocalDate falling on the specified
IsoDayOfWeek.
This is a strict "previous" - if this date on already falls on the target
day of the week, the returned value will be a week earlier.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public LocalDate Previous(IsoDayOfWeek targetDayOfWeek)
Parameters
Type |
Name |
Description |
IsoDayOfWeek |
targetDayOfWeek |
The ISO day of the week to return the previous date of. |
Returns
Type |
Description |
LocalDate |
The previous LocalDate falling on the specified day of the week. |
Exceptions
Type |
Condition |
System.InvalidOperationException |
The underlying calendar doesn't use ISO days of the week. |
ArgumentOutOfRangeException |
targetDayOfWeek is not a valid day of the
week (Monday to Sunday). |
Subtract(LocalDate, Period)
Subtracts the specified period from the date. Friendly alternative to operator-()
.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public static LocalDate Subtract(LocalDate date, Period period)
Parameters
Type |
Name |
Description |
LocalDate |
date |
The date to subtract the period from |
Period |
period |
The period to subtract. Must not contain any (non-zero) time units. |
Returns
Type |
Description |
LocalDate |
The result of subtracting the given period from the date. |
ToString()
Returns a System.String that represents this instance.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public override string ToString()
Returns
Type |
Description |
String |
The value of the current instance in the default format pattern ("D"), using the current thread's
culture to obtain a format provider.
|
Overrides
System.ValueType.ToString()
Formats the value of the current instance using the specified pattern.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public string ToString(string patternText, IFormatProvider formatProvider)
Parameters
Type |
Name |
Description |
String |
patternText |
The System.String specifying the pattern to use,
or null to use the default format pattern ("D").
|
IFormatProvider |
formatProvider |
The System.IFormatProvider to use when formatting the value,
or null to use the current thread's culture to obtain a format provider.
|
Returns
Type |
Description |
String |
A System.String containing the value of the current instance in the specified format.
|
WithCalendar(CalendarSystem)
Creates a new LocalDate representing the same physical date, but in a different calendar.
The returned LocalDate is likely to have different field values to this one.
For example, January 1st 1970 in the Gregorian calendar was December 19th 1969 in the Julian calendar.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public LocalDate WithCalendar(CalendarSystem calendarSystem)
Parameters
Type |
Name |
Description |
CalendarSystem |
calendarSystem |
The calendar system to convert this local date to. |
Returns
Type |
Description |
LocalDate |
The converted LocalDate |
Exceptions
Type |
Condition |
ArgumentNullException |
calendarSystem is null. |
Operators
Addition(LocalDate, LocalTime)
Since 1.0.x
Availability net35-Client, PCL
Declaration
public static LocalDateTime operator +(LocalDate date, LocalTime time)
Parameters
Type |
Name |
Description |
LocalDate |
date |
The date to add the time to |
LocalTime |
time |
The time to add |
Returns
Type |
Description |
LocalDateTime |
The sum of the given date and time |
Addition(LocalDate, Period)
Adds the specified period to the date.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public static LocalDate operator +(LocalDate date, Period period)
Parameters
Type |
Name |
Description |
LocalDate |
date |
The date to add the period to |
Period |
period |
The period to add. Must not contain any (non-zero) time units. |
Returns
Type |
Description |
LocalDate |
The sum of the given date and period |
Equality(LocalDate, LocalDate)
Compares two
LocalDate values for equality. This requires
that the dates be the same, within the same calendar.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public static bool operator ==(LocalDate lhs, LocalDate rhs)
Parameters
Type |
Name |
Description |
LocalDate |
lhs |
The first value to compare |
LocalDate |
rhs |
The second value to compare |
Returns
Type |
Description |
Boolean |
True if the two dates are the same and in the same calendar; false otherwise |
GreaterThan(LocalDate, LocalDate)
Compares two LocalDate values to see if the left one is strictly later than the right
one.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public static bool operator>(LocalDate lhs, LocalDate rhs)
Parameters
Type |
Name |
Description |
LocalDate |
lhs |
First operand of the comparison |
LocalDate |
rhs |
Second operand of the comparison |
Returns
Type |
Description |
Boolean |
true if the lhs is strictly later than rhs , false otherwise. |
GreaterThanOrEqual(LocalDate, LocalDate)
Compares two LocalDate values to see if the left one is later than or equal to the right
one.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public static bool operator >=(LocalDate lhs, LocalDate rhs)
Parameters
Type |
Name |
Description |
LocalDate |
lhs |
First operand of the comparison |
LocalDate |
rhs |
Second operand of the comparison |
Returns
Type |
Description |
Boolean |
true if the lhs is later than or equal to rhs , false otherwise. |
Inequality(LocalDate, LocalDate)
Compares two
LocalDate values for inequality.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public static bool operator !=(LocalDate lhs, LocalDate rhs)
Parameters
Type |
Name |
Description |
LocalDate |
lhs |
The first value to compare |
LocalDate |
rhs |
The second value to compare |
Returns
Type |
Description |
Boolean |
False if the two dates are the same and in the same calendar; true otherwise |
LessThan(LocalDate, LocalDate)
Compares two LocalDate values to see if the left one is strictly earlier than the right
one.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public static bool operator <(LocalDate lhs, LocalDate rhs)
Parameters
Type |
Name |
Description |
LocalDate |
lhs |
First operand of the comparison |
LocalDate |
rhs |
Second operand of the comparison |
Returns
Type |
Description |
Boolean |
true if the lhs is strictly earlier than rhs , false otherwise. |
LessThanOrEqual(LocalDate, LocalDate)
Compares two LocalDate values to see if the left one is earlier than or equal to the right
one.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public static bool operator <=(LocalDate lhs, LocalDate rhs)
Parameters
Type |
Name |
Description |
LocalDate |
lhs |
First operand of the comparison |
LocalDate |
rhs |
Second operand of the comparison |
Returns
Type |
Description |
Boolean |
true if the lhs is earlier than or equal to rhs , false otherwise. |
Subtraction(LocalDate, Period)
Subtracts the specified period from the date.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public static LocalDate operator -(LocalDate date, Period period)
Parameters
Type |
Name |
Description |
LocalDate |
date |
The date to subtract the period from |
Period |
period |
The period to subtract. Must not contain any (non-zero) time units. |
Returns
Type |
Description |
LocalDate |
The result of subtracting the given period from the date |
Explicit Interface Implementations
IComparable.CompareTo(Object)
Implementation of System.IComparable.CompareTo(System.Object) to compare two LocalDates.
Since 1.1.x
Availability net35-Client, PCL
Declaration
int IComparable.CompareTo(object obj)
Parameters
Type |
Name |
Description |
Object |
obj |
The object to compare this value with. |
Returns
Type |
Description |
Int32 |
The result of comparing this LocalDate with another one; see CompareTo(LocalDate) for general details.
If obj is null, this method returns a value greater than 0.
|
Exceptions
Type |
Condition |
ArgumentException |
obj is non-null but does not refer to an instance of LocalDate. |
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.IComparable<T>
System.IComparable
System.IFormattable
System.Xml.Serialization.IXmlSerializable
System.Runtime.Serialization.ISerializable