DateTime.MaxValue Fält
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Representerar det största möjliga värdet för DateTime. Detta fält är skrivskyddat.
public: static initonly DateTime MaxValue;
public static readonly DateTime MaxValue;
staticval mutable MaxValue : DateTime
Public Shared ReadOnly MaxValue As DateTime
Fältvärde
Exempel
I följande exempel instansierar ett DateTime objekt genom att skicka konstruktorn ett Int64 värde som representerar ett antal fästingar. Innan du anropar konstruktorn säkerställer exemplet att det här värdet är större än eller lika med DateTime.MinValue.Ticks och mindre än eller lika med DateTime.MaxValue.Ticks. Annars genererar den en 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.
Kommentarer
Värdet för den här konstanten motsvarar 23:59:59.9999999 UTC, 31 december 9999 i den gregorianska kalendern, exakt en tick på 100 nanosekunder före 00:00:00 UTC, 1 januari 10000.
Vissa kalendrar, till exempel ThaiBuddhistCalendar, stöder ett övre datumintervall som är tidigare än MaxValue. I dessa fall kan försök att komma åt MaxValue i variabeltilldelningar eller formaterings- och parsningsåtgärder utlösa en ArgumentOutOfRangeException. I stället för att hämta värdet för DateTime.MaxValuekan du hämta värdet för den angivna kulturens senaste giltiga datumvärde från Calendar.MaxSupportedDateTime egenskapen.