DateTime.MaxValue Pole
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Reprezentuje największą możliwą wartość .DateTime To pole jest tylko do odczytu.
public: static initonly DateTime MaxValue;
public static readonly DateTime MaxValue;
staticval mutable MaxValue : DateTime
Public Shared ReadOnly MaxValue As DateTime
Wartość pola
Przykłady
Poniższy przykład tworzy wystąpienie DateTime obiektu, przekazując jego konstruktorowi wartość reprezentującą Int64 liczbę znaczników. Przed wywołaniem konstruktora przykład zapewnia, że ta wartość jest większa lub równa DateTime.MinValue.Ticks
i mniejsza niż lub równa DateTime.MaxValue.Ticks
. Jeśli tak nie jest, zgłasza wartość ArgumentOutOfRangeException.
// Attempt to assign an out-of-range value to a DateTime constructor.
long numberOfTicks = Int64.MaxValue;
DateTime validDate;
// Validate the value.
if (numberOfTicks >= DateTime.MinValue.Ticks &&
numberOfTicks <= DateTime.MaxValue.Ticks)
validDate = new DateTime(numberOfTicks);
else if (numberOfTicks < DateTime.MinValue.Ticks)
Console.WriteLine("{0:N0} is less than {1:N0} ticks.",
numberOfTicks,
DateTime.MinValue.Ticks);
else
Console.WriteLine("{0:N0} is greater than {1:N0} ticks.",
numberOfTicks,
DateTime.MaxValue.Ticks);
// The example displays the following output:
// 9,223,372,036,854,775,807 is greater than 3,155,378,975,999,999,999 ticks.
// Attempt to assign an out-of-range value to a DateTime constructor.
let numberOfTicks = Int64.MaxValue
// Validate the value.
if numberOfTicks >= DateTime.MinValue.Ticks &&
numberOfTicks <= DateTime.MaxValue.Ticks then
let validDate = DateTime numberOfTicks
()
elif numberOfTicks < DateTime.MinValue.Ticks then
printfn $"{numberOfTicks:N0} is less than {DateTime.MinValue.Ticks:N0} ticks."
else
printfn $"{numberOfTicks:N0} is greater than {DateTime.MaxValue.Ticks:N0} ticks."
// The example displays the following output:
// 9,223,372,036,854,775,807 is greater than 3,155,378,975,999,999,999 ticks.
' Attempt to assign an out-of-range value to a DateTime constructor.
Dim numberOfTicks As Long = Int64.MaxValue
Dim validDate As Date
' Validate the value.
If numberOfTicks >= Date.MinValue.Ticks And _
numberOfTicks <= Date.MaxValue.Ticks Then
validDate = New Date(numberOfTicks)
ElseIf numberOfTicks < Date.MinValue.Ticks Then
Console.WriteLine("{0:N0} is less than {1:N0} ticks.",
numberOfTicks,
DateTime.MinValue.Ticks)
Else
Console.WriteLine("{0:N0} is greater than {1:N0} ticks.",
numberOfTicks,
DateTime.MaxValue.Ticks)
End If
' The example displays the following output:
' 9,223,372,036,854,775,807 is greater than 3,155,378,975,999,999,999 ticks.
Uwagi
Wartość tej stałej jest równoważna 23:59:59.999999 UTC, 31 grudnia 9999 w kalendarzu gregoriańskim, dokładnie jeden 100-nanosekundowy znacznik przed 00:00:00 UTC, 1 stycznia 10000.
Niektóre kalendarze, takie jak ThaiBuddhistCalendar, obsługują górny zakres dat, który jest wcześniejszy niż MaxValue. W takich przypadkach próba uzyskania dostępu MaxValue do przypisań zmiennych lub operacji formatowania i analizowania może zgłosić błąd ArgumentOutOfRangeException. Zamiast pobierać wartość elementu DateTime.MaxValue, możesz pobrać wartość najnowszej prawidłowej wartości daty określonej kultury z Calendar.MaxSupportedDateTime właściwości .