DateTime.MaxValue Bidang
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mewakili nilai terbesar yang mungkin dari DateTime. Bidang ini hanya-baca.
public: static initonly DateTime MaxValue;
public static readonly DateTime MaxValue;
staticval mutable MaxValue : DateTime
Public Shared ReadOnly MaxValue As DateTime
Nilai Bidang
Contoh
Contoh berikut membuat instans DateTime objek dengan meneruskan konstruktornya nilai Int64 yang mewakili sejumlah tanda centang. Sebelum memanggil konstruktor, contoh memastikan bahwa nilai ini lebih besar dari atau sama dengan DateTime.MinValue.Ticks
dan kurang dari atau sama dengan DateTime.MaxValue.Ticks
. Jika tidak, ia melempar 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.
Keterangan
Nilai konstanta ini setara dengan 23:59:59.9999999 UTC, 31 Desember 9999 di kalender Gregorian, tepat satu tick 100-nanodetik sebelum 00:00:00 UTC, 1 Januari 10000.
Beberapa kalender, seperti ThaiBuddhistCalendar, mendukung rentang tanggal atas yang lebih lama dari MaxValue. Dalam kasus ini, mencoba mengakses MaxValue dalam penetapan variabel atau memformat dan mengurai operasi dapat melempar .ArgumentOutOfRangeException Daripada mengambil nilai DateTime.MaxValue, Anda dapat mengambil nilai nilai tanggal valid terbaru budaya yang ditentukan dari Calendar.MaxSupportedDateTime properti .