Struct LocalDateTime
A date and time in a particular calendar system. A LocalDateTime value does not represent an
instant on the global time line, because it has no associated time zone: "November 12th 2009 7pm, ISO calendar"
occurred at different instants for different people around the world.
Since 1.0.x
Availability net6.0, netstandard2.0
Implements
IComparable
IFormattable
IXmlSerializable
Inherited Members
Object.Equals(Object, Object)
Object.GetType()
Object.ReferenceEquals(Object, Object)
Assembly: NodaTime.dll
Syntax
[TypeConverter(typeof(LocalDateTimeTypeConverter))]
public readonly struct LocalDateTime : IEquatable<LocalDateTime>, IComparable<LocalDateTime>, IComparable, IFormattable, IXmlSerializable
Constructors
LocalDateTime(Int32, Int32, Int32, Int32, Int32)
Initializes a new instance of the
LocalDateTime struct using the ISO calendar system.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public LocalDateTime(int year, int month, int day, int hour, int minute)
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. |
Int32 |
hour |
The hour. |
Int32 |
minute |
The minute. |
Sample snippet
using NodaTime;
using NodaTime.Text;
using System;
LocalDateTime dt = new LocalDateTime(2010, 6, 16, 16, 20);
Console.WriteLine(LocalDateTimePattern.GeneralIso.Format(dt));
Console.WriteLine(dt.Calendar);
Output:
2010-06-16T16:20:00
ISO
Exceptions
Type |
Condition |
ArgumentOutOfRangeException |
The parameters do not form a valid date/time. |
LocalDateTime(Int32, Int32, Int32, Int32, Int32, CalendarSystem)
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public LocalDateTime(int year, int month, int day, int hour, int minute, 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. |
Int32 |
hour |
The hour. |
Int32 |
minute |
The minute. |
CalendarSystem |
calendar |
The calendar. |
Sample snippet
using NodaTime;
using System;
CalendarSystem calendar = CalendarSystem.Iso;
LocalDateTime dt = new LocalDateTime(2010, 6, 16, 16, 20, calendar);
Console.WriteLine(dt.Minute);
Output:
20
Exceptions
Type |
Condition |
ArgumentOutOfRangeException |
The parameters do not form a valid date/time. |
LocalDateTime(Int32, Int32, Int32, Int32, Int32, Int32)
Initializes a new instance of the
LocalDateTime struct using the ISO calendar system.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public LocalDateTime(int year, int month, int day, int hour, int minute, int second)
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. |
Int32 |
hour |
The hour. |
Int32 |
minute |
The minute. |
Int32 |
second |
The second. |
Exceptions
Type |
Condition |
ArgumentOutOfRangeException |
The parameters do not form a valid date/time. |
LocalDateTime(Int32, Int32, Int32, Int32, Int32, Int32, CalendarSystem)
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public LocalDateTime(int year, int month, int day, int hour, int minute, int second, 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. |
Int32 |
hour |
The hour. |
Int32 |
minute |
The minute. |
Int32 |
second |
The second. |
CalendarSystem |
calendar |
The calendar. |
Exceptions
Type |
Condition |
ArgumentOutOfRangeException |
The parameters do not form a valid date/time. |
LocalDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32)
Initializes a new instance of the
LocalDateTime struct using the ISO calendar system.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public LocalDateTime(int year, int month, int day, int hour, int minute, int second, int millisecond)
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. |
Int32 |
hour |
The hour. |
Int32 |
minute |
The minute. |
Int32 |
second |
The second. |
Int32 |
millisecond |
The millisecond. |
Exceptions
Type |
Condition |
ArgumentOutOfRangeException |
The parameters do not form a valid date/time. |
LocalDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, CalendarSystem)
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public LocalDateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, 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. |
Int32 |
hour |
The hour. |
Int32 |
minute |
The minute. |
Int32 |
second |
The second. |
Int32 |
millisecond |
The millisecond. |
CalendarSystem |
calendar |
The calendar. |
Exceptions
Type |
Condition |
ArgumentOutOfRangeException |
The parameters do not form a valid date/time. |
Properties
Calendar
Gets the calendar system associated with this local date and time.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public readonly CalendarSystem Calendar { get; }
Property Value
Type |
Description |
CalendarSystem |
The calendar system associated with this local date and time. |
ClockHourOfHalfDay
Gets the hour of the half-day of this local date and time, in the range 1 to 12 inclusive.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public readonly int ClockHourOfHalfDay { get; }
Property Value
Type |
Description |
Int32 |
The hour of the half-day of this local date and time, in the range 1 to 12 inclusive. |
Date
Gets the date portion of this local date and time as a
LocalDate in the same calendar system as this value.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public readonly LocalDate Date { get; }
Property Value
Type |
Description |
LocalDate |
The date portion of this local date and time as a LocalDate in the same calendar system as this value. |
Day
Gets the day of this local date and time within the month.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public readonly int Day { get; }
Property Value
Type |
Description |
Int32 |
The day of this local date and time within the month. |
DayOfWeek
Gets the week day of this local date and time expressed as an
IsoDayOfWeek value.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public readonly IsoDayOfWeek DayOfWeek { get; }
Property Value
Type |
Description |
IsoDayOfWeek |
The week day of this local date and time expressed as an IsoDayOfWeek . |
DayOfYear
Gets the day of this local date and time within the year.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public readonly int DayOfYear { get; }
Property Value
Type |
Description |
Int32 |
The day of this local date and time within the year. |
Era
Gets the era of this local date and time.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public readonly Era Era { get; }
Property Value
Type |
Description |
Era |
The era of this local date and time. |
Hour
Gets the hour of day of this local date and time, in the range 0 to 23 inclusive.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public readonly int Hour { get; }
Property Value
Type |
Description |
Int32 |
The hour of day of this local date and time, in the range 0 to 23 inclusive. |
MaxIsoValue
The maximum (latest) date and time representable in the ISO calendar system.
This is a nanosecond before midnight at the end of
MaxIsoValue.
Since 3.1.x
Availability net6.0, netstandard2.0
Declaration
public static readonly LocalDateTime MaxIsoValue { get; }
Property Value
Millisecond
Gets the millisecond of this local date and time within the second, in the range 0 to 999 inclusive.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public readonly int Millisecond { get; }
Property Value
Type |
Description |
Int32 |
The millisecond of this local date and time within the second, in the range 0 to 999 inclusive. |
MinIsoValue
The minimum (earliest) date and time representable in the ISO calendar system.
This is midnight at the start of
MinIsoValue.
Since 3.1.x
Availability net6.0, netstandard2.0
Declaration
public static readonly LocalDateTime MinIsoValue { get; }
Property Value
Minute
Gets the minute of this local date and time, in the range 0 to 59 inclusive.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public readonly int Minute { get; }
Property Value
Type |
Description |
Int32 |
The minute of this local date and time, in the range 0 to 59 inclusive. |
Month
Gets the month of this local date and time within the year.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public readonly int Month { get; }
Property Value
Type |
Description |
Int32 |
The month of this local date and time within the year. |
NanosecondOfDay
Gets the nanosecond of this local date and time within the day, in the range 0 to 86,399,999,999,999 inclusive.
Since 2.0.x
Availability net6.0, netstandard2.0
Declaration
public readonly long NanosecondOfDay { get; }
Property Value
Type |
Description |
Int64 |
The nanosecond of this local date and time within the day, in the range 0 to 86,399,999,999,999 inclusive. |
NanosecondOfSecond
Gets the nanosecond of this local time within the second, in the range 0 to 999,999,999 inclusive.
Since 2.0.x
Availability net6.0, netstandard2.0
Declaration
public readonly int NanosecondOfSecond { get; }
Property Value
Type |
Description |
Int32 |
The nanosecond of this local time within the second, in the range 0 to 999,999,999 inclusive. |
Second
Gets the second of this local date and time within the minute, in the range 0 to 59 inclusive.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public readonly int Second { get; }
Property Value
Type |
Description |
Int32 |
The second of this local date and time within the minute, in the range 0 to 59 inclusive. |
TickOfDay
Gets the tick of this local date and time within the day, in the range 0 to 863,999,999,999 inclusive.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public readonly long TickOfDay { get; }
Property Value
Type |
Description |
Int64 |
The tick of this local date and time within the day, in the range 0 to 863,999,999,999 inclusive. |
TickOfSecond
Gets the tick of this local time within the second, in the range 0 to 9,999,999 inclusive.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public readonly int TickOfSecond { get; }
Property Value
Type |
Description |
Int32 |
The tick of this local time within the second, in the range 0 to 9,999,999 inclusive. |
TimeOfDay
Gets the time portion of this local date and time as a
LocalTime.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public readonly LocalTime TimeOfDay { get; }
Property Value
Type |
Description |
LocalTime |
The time portion of this local date and time as a LocalTime . |
Year
Gets the year of this local date and time.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public readonly int Year { get; }
Property Value
Type |
Description |
Int32 |
The year of this local date and time. |
YearOfEra
Gets the year of this local date and time within its era.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public readonly int YearOfEra { get; }
Property Value
Type |
Description |
Int32 |
The year of this local date and time within its era. |
Methods
Add(LocalDateTime, Period)
Add the specified period to the date and time.
Fields are added in descending order of significance (years first, then months, and so on).
Friendly alternative to operator+()
.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public static LocalDateTime Add(LocalDateTime localDateTime, Period period)
Parameters
Type |
Name |
Description |
LocalDateTime |
localDateTime |
Initial local date and time |
Period |
period |
Period to add |
Returns
AddSchema(XmlSchemaSet)
Adds the XML schema type describing the structure of the
LocalDateTime XML serialization to the given
xmlSchemaSet
.
the
xmlSchemaSet
.
Since 3.0.x
Availability net6.0, netstandard2.0
Declaration
public static XmlQualifiedName AddSchema(XmlSchemaSet xmlSchemaSet)
Parameters
Type |
Name |
Description |
XmlSchemaSet |
xmlSchemaSet |
The XML schema set provided by System.Xml.Serialization.XmlSchemaExporter. |
Returns
Type |
Description |
XmlQualifiedName |
The qualified name of the schema type that was added to the xmlSchemaSet . |
CompareTo(LocalDateTime)
Indicates whether this date/time is earlier, later or the same as another one.
See the type documentation for a description of ordering semantics.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public readonly int CompareTo(LocalDateTime other)
Parameters
Type |
Name |
Description |
LocalDateTime |
other |
The other local date/time to compare with this value. |
Returns
Type |
Description |
Int32 |
A value less than zero if this date/time is earlier than other ;
zero if this date/time is the same as other ; a value greater than zero if this date/time is
later than other . |
Exceptions
Type |
Condition |
ArgumentException |
The calendar system of other is not the
same as the calendar system of this value. |
Deconstruct(out LocalDate, out LocalTime)
Since 2.3.x
Availability net6.0, netstandard2.0
Declaration
public readonly void Deconstruct(out LocalDate date, out LocalTime time)
Parameters
Type |
Name |
Description |
LocalDate |
date |
The date portion of the value. |
LocalTime |
time |
The time portion of the value. |
Equals(LocalDateTime)
Indicates whether the current object is equal to another object of the same type.
See the type documentation for a description of equality semantics.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public readonly bool Equals(LocalDateTime other)
Parameters
Type |
Name |
Description |
LocalDateTime |
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 this instance.
See the type documentation for a description of equality semantics.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public override readonly 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)
FromDateTime(DateTime)
Converts a System.DateTime of any kind to a LocalDateTime in the ISO calendar. This does not perform
any time zone conversions, so a DateTime with a System.DateTime.Kind of System.DateTimeKind.Utc
will still have the same day/hour/minute etc - it won't be converted into the local system time.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public static LocalDateTime FromDateTime(DateTime dateTime)
Parameters
Type |
Name |
Description |
DateTime |
dateTime |
Value to convert into a Noda Time local date and time |
Returns
FromDateTime(DateTime, CalendarSystem)
Converts a System.DateTime of any kind to a LocalDateTime in the specified calendar. This does not perform
any time zone conversions, so a DateTime with a System.DateTime.Kind of System.DateTimeKind.Utc
will still have the same day/hour/minute etc - it won't be converted into the local system time.
Since 2.0.x
Availability net6.0, netstandard2.0
Declaration
public static LocalDateTime FromDateTime(DateTime dateTime, CalendarSystem calendar)
Parameters
Type |
Name |
Description |
DateTime |
dateTime |
Value to convert into a Noda Time local date and time |
CalendarSystem |
calendar |
The calendar system to convert into |
Returns
GetHashCode()
Returns a hash code for this instance.
See the type documentation for a description of equality semantics.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public override readonly int GetHashCode()
Returns
Type |
Description |
Int32 |
A hash code for this instance, suitable for use in hashing algorithms and data
structures like a hash table.
|
Overrides
System.ValueType.GetHashCode()
InUtc()
Returns the mapping of this local date/time within
Utc.
Since 1.1.x
Availability net6.0, netstandard2.0
Declaration
public readonly ZonedDateTime InUtc()
Returns
Type |
Description |
ZonedDateTime |
The result of mapping this local date/time in UTC. |
InZone(DateTimeZone, ZoneLocalMappingResolver)
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public readonly ZonedDateTime InZone(DateTimeZone zone, ZoneLocalMappingResolver resolver)
Parameters
Returns
Type |
Description |
ZonedDateTime |
The result of resolving the mapping. |
InZoneLeniently(DateTimeZone)
Returns the mapping of this local date/time within the given
DateTimeZone,
with "lenient" rules applied such that ambiguous values map to the earlier of the alternatives, and
"skipped" values are shifted forward by the duration of the "gap".
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public readonly ZonedDateTime InZoneLeniently(DateTimeZone zone)
Parameters
Type |
Name |
Description |
DateTimeZone |
zone |
The time zone in which to map this local date/time. |
Returns
Type |
Description |
ZonedDateTime |
The result of mapping this local date/time in the given time zone. |
InZoneStrictly(DateTimeZone)
Returns the mapping of this local date/time within the given
DateTimeZone,
with "strict" rules applied such that an exception is thrown if either the mapping is
ambiguous or the time is skipped.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public readonly ZonedDateTime InZoneStrictly(DateTimeZone zone)
Parameters
Type |
Name |
Description |
DateTimeZone |
zone |
The time zone in which to map this local date/time. |
Returns
Type |
Description |
ZonedDateTime |
The result of mapping this local date/time in the given time zone. |
Exceptions
Max(LocalDateTime, LocalDateTime)
Returns the later date/time of the given two.
Since 2.3.x
Availability net6.0, netstandard2.0
Declaration
public static LocalDateTime Max(LocalDateTime x, LocalDateTime y)
Parameters
Returns
Exceptions
Type |
Condition |
ArgumentException |
The two date/times have different calendar systems. |
Min(LocalDateTime, LocalDateTime)
Returns the earlier date/time of the given two.
Since 2.3.x
Availability net6.0, netstandard2.0
Declaration
public static LocalDateTime Min(LocalDateTime x, LocalDateTime y)
Parameters
Returns
Exceptions
Type |
Condition |
ArgumentException |
The two date/times have different calendar systems. |
Minus(LocalDateTime)
Subtracts the specified date/time from this date/time, returning the result as a
Period.
Fluent alternative to
operator-()
.
Since 2.0.x
Availability net6.0, netstandard2.0
Declaration
public readonly Period Minus(LocalDateTime localDateTime)
Parameters
Type |
Name |
Description |
LocalDateTime |
localDateTime |
The date/time to subtract from this |
Returns
Type |
Description |
Period |
The difference between the specified date/time and this one |
Minus(Period)
Subtracts a period from a local date/time.
Fields are subtracted in descending order of significance (years first, then months, and so on).
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public readonly LocalDateTime Minus(Period period)
Parameters
Type |
Name |
Description |
Period |
period |
Period to subtract |
Returns
Next(IsoDayOfWeek)
Returns the next
LocalDateTime falling on the specified
IsoDayOfWeek,
at the same time of day as this value.
This is a strict "next" - if this value on already falls on the target
day of the week, the returned value will be a week later.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public readonly LocalDateTime 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 a period to this local date/time.
Fields are added in descending order of significance (years first, then months, and so on).
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public readonly LocalDateTime Plus(Period period)
Parameters
Type |
Name |
Description |
Period |
period |
Period to add |
Returns
PlusDays(Int32)
Returns a new LocalDateTime representing the current value with the given number of days added.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public readonly LocalDateTime PlusDays(int days)
Parameters
Type |
Name |
Description |
Int32 |
days |
The number of days to add |
Returns
Type |
Description |
LocalDateTime |
The current value plus the given number of days. |
PlusHours(Int64)
Returns a new LocalDateTime representing the current value with the given number of hours added.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public readonly LocalDateTime PlusHours(long hours)
Parameters
Type |
Name |
Description |
Int64 |
hours |
The number of hours to add |
Returns
Type |
Description |
LocalDateTime |
The current value plus the given number of hours. |
PlusMilliseconds(Int64)
Returns a new LocalDateTime representing the current value with the given number of milliseconds added.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public readonly LocalDateTime PlusMilliseconds(long milliseconds)
Parameters
Type |
Name |
Description |
Int64 |
milliseconds |
The number of milliseconds to add |
Returns
Type |
Description |
LocalDateTime |
The current value plus the given number of milliseconds. |
PlusMinutes(Int64)
Returns a new LocalDateTime representing the current value with the given number of minutes added.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public readonly LocalDateTime PlusMinutes(long minutes)
Parameters
Type |
Name |
Description |
Int64 |
minutes |
The number of minutes to add |
Returns
Type |
Description |
LocalDateTime |
The current value plus the given number of minutes. |
PlusMonths(Int32)
Returns a new LocalDateTime representing the current value with the given number of months added.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public readonly LocalDateTime PlusMonths(int months)
Parameters
Type |
Name |
Description |
Int32 |
months |
The number of months to add |
Returns
Type |
Description |
LocalDateTime |
The current value plus the given number of months. |
PlusNanoseconds(Int64)
Returns a new LocalDateTime representing the current value with the given number of nanoseconds added.
Since 2.0.x
Availability net6.0, netstandard2.0
Declaration
public readonly LocalDateTime PlusNanoseconds(long nanoseconds)
Parameters
Type |
Name |
Description |
Int64 |
nanoseconds |
The number of nanoseconds to add |
Returns
Type |
Description |
LocalDateTime |
The current value plus the given number of nanoseconds. |
PlusSeconds(Int64)
Returns a new LocalDateTime representing the current value with the given number of seconds added.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public readonly LocalDateTime PlusSeconds(long seconds)
Parameters
Type |
Name |
Description |
Int64 |
seconds |
The number of seconds to add |
Returns
Type |
Description |
LocalDateTime |
The current value plus the given number of seconds. |
PlusTicks(Int64)
Returns a new LocalDateTime representing the current value with the given number of ticks added.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public readonly LocalDateTime PlusTicks(long ticks)
Parameters
Type |
Name |
Description |
Int64 |
ticks |
The number of ticks to add |
Returns
Type |
Description |
LocalDateTime |
The current value plus the given number of ticks. |
PlusWeeks(Int32)
Returns a new LocalDateTime representing the current value with the given number of weeks added.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public readonly LocalDateTime PlusWeeks(int weeks)
Parameters
Type |
Name |
Description |
Int32 |
weeks |
The number of weeks to add |
Returns
Type |
Description |
LocalDateTime |
The current value plus the given number of weeks. |
PlusYears(Int32)
Returns a new LocalDateTime representing the current value with the given number of years added.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public readonly LocalDateTime PlusYears(int years)
Parameters
Type |
Name |
Description |
Int32 |
years |
The number of years to add |
Returns
Type |
Description |
LocalDateTime |
The current value plus the given number of years. |
Previous(IsoDayOfWeek)
Returns the previous
LocalDateTime falling on the specified
IsoDayOfWeek,
at the same time of day as this value.
This is a strict "previous" - if this value on already falls on the target
day of the week, the returned value will be a week earlier.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public readonly LocalDateTime Previous(IsoDayOfWeek targetDayOfWeek)
Parameters
Type |
Name |
Description |
IsoDayOfWeek |
targetDayOfWeek |
The ISO day of the week to return the previous 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). |
Subtract(LocalDateTime, LocalDateTime)
Subtracts one date/time from another, returning the result as a
Period.
Since 2.0.x
Availability net6.0, netstandard2.0
Declaration
public static Period Subtract(LocalDateTime lhs, LocalDateTime rhs)
Parameters
Returns
Type |
Description |
Period |
The result of subtracting one date/time from another. |
Subtract(LocalDateTime, Period)
Subtracts the specified period from the date and time. Friendly alternative to operator-()
.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public static LocalDateTime Subtract(LocalDateTime localDateTime, Period period)
Parameters
Type |
Name |
Description |
LocalDateTime |
localDateTime |
Initial local date and time |
Period |
period |
Period to subtract |
Returns
ToDateTimeUnspecified()
Constructs a System.DateTime from this value which has a System.DateTime.Kind
of System.DateTimeKind.Unspecified.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public readonly DateTime ToDateTimeUnspecified()
Returns
Type |
Description |
DateTime |
A System.DateTime value for the same date and time as this value. |
Exceptions
Type |
Condition |
System.InvalidOperationException |
The date/time is outside the range of DateTime . |
ToString()
Returns a System.String that represents this instance.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public override readonly string ToString()
Returns
Type |
Description |
String |
The value of the current instance in the default format pattern ("G"), 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 net6.0, netstandard2.0
Declaration
public readonly 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 ("G").
|
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.
|
using NodaTime;
using System;
using System.Globalization;
LocalDateTime dt = new LocalDateTime(2010, 6, 16, 16, 20);
Console.WriteLine(dt.ToString("uuuu-MM-dd'T'HH:mm:ss", CultureInfo.InvariantCulture));
Output:
2010-06-16T16:20:00
With(Func<LocalDate, LocalDate>)
Returns this date/time, with the given date adjuster applied to it, maintaining the existing time of day.
Since 2.0.x
Availability net6.0, netstandard2.0
Declaration
public readonly LocalDateTime With(Func<LocalDate, LocalDate> adjuster)
Parameters
Returns
With(Func<LocalTime, LocalTime>)
Returns this date/time, with the given time adjuster applied to it, maintaining the existing date.
Since 2.0.x
Availability net6.0, netstandard2.0
Declaration
public readonly LocalDateTime With(Func<LocalTime, LocalTime> adjuster)
Parameters
Returns
WithCalendar(CalendarSystem)
Creates a new LocalDateTime representing the same physical date and time, but in a different calendar.
The returned LocalDateTime is likely to have different date 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 net6.0, netstandard2.0
Declaration
public readonly LocalDateTime WithCalendar(CalendarSystem calendar)
Parameters
Type |
Name |
Description |
CalendarSystem |
calendar |
The calendar system to convert this local date to. |
Returns
WithOffset(Offset)
Returns an
OffsetDateTime for this local date/time with the given offset.
Since 1.1.x
Availability net6.0, netstandard2.0
Declaration
public readonly OffsetDateTime WithOffset(Offset offset)
Parameters
Type |
Name |
Description |
Offset |
offset |
The offset to apply. |
Returns
Type |
Description |
OffsetDateTime |
The result of this local date/time offset by the given amount. |
Operators
Addition(LocalDateTime, Period)
Adds a period to a local date/time.
Fields are added in descending order of significance (years first, then months, and so on).
This is a convenience operator over the
Plus(Period) method.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public static LocalDateTime operator +(LocalDateTime localDateTime, Period period)
Parameters
Type |
Name |
Description |
LocalDateTime |
localDateTime |
Initial local date and time |
Period |
period |
Period to add |
Returns
Equality(LocalDateTime, LocalDateTime)
Implements the operator == (equality).
See the type documentation for a description of equality semantics.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public static bool operator ==(LocalDateTime left, LocalDateTime right)
Parameters
Type |
Name |
Description |
LocalDateTime |
left |
The left hand side of the operator. |
LocalDateTime |
right |
The right hand side of the operator. |
Returns
Type |
Description |
Boolean |
true if values are equal to each other, otherwise false . |
GreaterThan(LocalDateTime, LocalDateTime)
Compares two LocalDateTime values to see if the left one is strictly later than the right one.
See the type documentation for a description of ordering semantics.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public static bool operator>(LocalDateTime lhs, LocalDateTime rhs)
Parameters
Returns
Type |
Description |
Boolean |
true if the lhs is strictly later than rhs , false otherwise. |
Exceptions
Type |
Condition |
ArgumentException |
The calendar system of rhs is not the same
as the calendar of lhs . |
GreaterThanOrEqual(LocalDateTime, LocalDateTime)
Compares two LocalDateTime values to see if the left one is later than or equal to the right one.
See the type documentation for a description of ordering semantics.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public static bool operator >=(LocalDateTime lhs, LocalDateTime rhs)
Parameters
Returns
Type |
Description |
Boolean |
true if the lhs is later than or equal to rhs , false otherwise. |
Exceptions
Type |
Condition |
ArgumentException |
The calendar system of rhs is not the same
as the calendar of lhs . |
Inequality(LocalDateTime, LocalDateTime)
Implements the operator != (inequality).
See the type documentation for a description of equality semantics.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public static bool operator !=(LocalDateTime left, LocalDateTime right)
Parameters
Type |
Name |
Description |
LocalDateTime |
left |
The left hand side of the operator. |
LocalDateTime |
right |
The right hand side of the operator. |
Returns
Type |
Description |
Boolean |
true if values are not equal to each other, otherwise false . |
LessThan(LocalDateTime, LocalDateTime)
Compares two LocalDateTime values to see if the left one is strictly earlier than the right one.
See the type documentation for a description of ordering semantics.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public static bool operator <(LocalDateTime lhs, LocalDateTime rhs)
Parameters
Returns
Type |
Description |
Boolean |
true if the lhs is strictly earlier than rhs , false otherwise. |
Exceptions
Type |
Condition |
ArgumentException |
The calendar system of rhs is not the same
as the calendar of lhs . |
LessThanOrEqual(LocalDateTime, LocalDateTime)
Compares two LocalDateTime values to see if the left one is earlier than or equal to the right one.
See the type documentation for a description of ordering semantics.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public static bool operator <=(LocalDateTime lhs, LocalDateTime rhs)
Parameters
Returns
Type |
Description |
Boolean |
true if the lhs is earlier than or equal to rhs , false otherwise. |
Exceptions
Type |
Condition |
ArgumentException |
The calendar system of rhs is not the same
as the calendar of lhs . |
Subtraction(LocalDateTime, LocalDateTime)
Subtracts one date/time from another, returning the result as a
Period.
Since 2.0.x
Availability net6.0, netstandard2.0
Declaration
public static Period operator -(LocalDateTime lhs, LocalDateTime rhs)
Parameters
Returns
Type |
Description |
Period |
The result of subtracting one date/time from another. |
Subtraction(LocalDateTime, Period)
Subtracts a period from a local date/time.
Fields are subtracted in descending order of significance (years first, then months, and so on).
This is a convenience operator over the
Minus(Period) method.
Since 1.0.x
Availability net6.0, netstandard2.0
Declaration
public static LocalDateTime operator -(LocalDateTime localDateTime, Period period)
Parameters
Type |
Name |
Description |
LocalDateTime |
localDateTime |
Initial local date and time |
Period |
period |
Period to subtract |
Returns
Explicit Interface Implementations
IComparable.CompareTo(Object)
Implementation of System.IComparable.CompareTo(System.Object) to compare two LocalDateTimes.
See the type documentation for a description of ordering semantics.
Since 1.1.x
Availability net6.0, netstandard2.0
Declaration
readonly 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 LocalDateTime with another one; see CompareTo(LocalDateTime) 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 LocalDateTime,
or refers to a date/time in a different calendar system. |
IXmlSerializable.ReadXml(XmlReader)
Since 1.2.x
Availability net6.0, netstandard2.0
Declaration
readonly void IXmlSerializable.ReadXml(XmlReader reader)
Parameters
Type |
Name |
Description |
XmlReader |
reader |
|
IXmlSerializable.WriteXml(XmlWriter)
Since 1.2.x
Availability net6.0, netstandard2.0
Declaration
readonly 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