DateTime.MaxValue フィールド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
DateTimeの可能な最大値を表します。 このフィールドは読み取り専用です。
public: static initonly DateTime MaxValue;
public static readonly DateTime MaxValue;
staticval mutable MaxValue : DateTime
Public Shared ReadOnly MaxValue As DateTime
フィールド値
例
次の例では、コンストラクターにティック数を表すDateTime値を渡すことによって、Int64 オブジェクトをインスタンス化します。 コンストラクターを呼び出す前に、この例では、この値が DateTime.MinValue.Ticks 以上で、 DateTime.MaxValue.Ticks以下であることを確認します。 そうでない場合は、 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.
注釈
この定数の値は、グレゴリオ暦の 99999 年 12 月 31 日 23:59:59.9999999 UTC に相当し、10000 年 1 月 1 日 00:00:00 UTC より前の 100 ナノ秒ティックに相当します。
ThaiBuddhistCalendarなどの一部のカレンダーでは、MaxValueよりも前の日付範囲がサポートされています。 このような場合、変数の割り当てまたは書式設定および解析操作で MaxValue にアクセスしようとすると、 ArgumentOutOfRangeExceptionがスローされる可能性があります。 DateTime.MaxValueの値を取得するのではなく、指定したカルチャの最新の有効な日付値の値を Calendar.MaxSupportedDateTime プロパティから取得できます。