DateTime.MaxValue DateTime.MaxValue DateTime.MaxValue DateTime.MaxValue Field

定義

DateTime の最大有効値を表します。Represents the largest possible value of DateTime. このフィールドは読み取り専用です。This field is read-only.

public: static initonly DateTime MaxValue;
public static readonly DateTime MaxValue;
 staticval mutable MaxValue : DateTime
Public Shared ReadOnly MaxValue As DateTime 

フィールド値

次の例ではDateTime 、タイマー刻みの数をInt64表す値をコンストラクターに渡すことによって、オブジェクトをインスタンス化します。The following example instantiates a DateTime object by passing its constructor an Int64 value that represents a number of ticks. この例では、コンストラクターを呼び出す前に、この値がDateTime.MinValue.Ticks DateTime.MaxValue.Ticks次の値以上であることを確認します。Before invoking the constructor, the example ensures that this value is greater than or equal to DateTime.MinValue.Ticks and less than or equal to DateTime.MaxValue.Ticks. そうでない場合は、 ArgumentOutOfRangeExceptionをスローします。If not, it throws an 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.
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.      

注釈

この定数の値は、グレゴリオ暦の 23:59: 59.9999999 UTC、9999年12月31日に相当します。これは、00:00:00 UTC (1 月 1万1日) の前に正確に 1 100 ナノ秒ティックを示します。The value of this constant is equivalent to 23:59:59.9999999 UTC, December 31, 9999 in the Gregorian calendar, exactly one 100-nanosecond tick before 00:00:00 UTC, January 1, 10000.

などの一部のカレンダーでThaiBuddhistCalendarは、よりもMaxValue前の日付の範囲がサポートされています。Some calendars, such as the ThaiBuddhistCalendar, support an upper date range that is earlier than MaxValue. このような場合は、変数MaxValueの代入や書式設定および解析操作でにアクセスArgumentOutOfRangeExceptionしようとすると、がスローされることがあります。In these cases, trying to access MaxValue in variable assignments or formatting and parsing operations can throw an ArgumentOutOfRangeException. の値を取得するのDateTime.MaxValueではなく、指定したカルチャの有効な日付値の値をCalendar.MaxSupportedDateTimeプロパティから取得できます。Rather than retrieving the value of DateTime.MaxValue, you can retrieve the value of the specified culture's latest valid date value from the Calendar.MaxSupportedDateTime property.

適用対象

こちらもご覧ください