Partager via


DateTime.MaxValue Champ

Définition

Représente la plus grande valeur possible de DateTime. Ce champ est en lecture seule.

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

Valeur de champ

Exemples

L’exemple suivant instancie un DateTime objet en passant à son constructeur une Int64 valeur qui représente un certain nombre de cycles. Avant d’appeler le constructeur, l’exemple garantit que cette valeur est supérieure ou égale à DateTime.MinValue.Ticks et inférieure ou égale à DateTime.MaxValue.Ticks. Si ce n’est pas le cas, elle lève un 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.

Remarques

La valeur de cette constante est équivalente à 23:59:59.9999999 UTC, 31 décembre 9999 dans le calendrier grégorien, exactement une graduation de 100 nanosecondes avant 00:00:00 UTC, 1er janvier 10000.

Certains calendriers, tels que , ThaiBuddhistCalendarprennent en charge une plage de dates supérieure antérieure à MaxValue. Dans ce cas, une tentative d’accès MaxValue dans des affectations de variables ou des opérations de mise en forme et d’analyse peut lever un ArgumentOutOfRangeException. Au lieu de récupérer la valeur de DateTime.MaxValue, vous pouvez récupérer la valeur de la dernière valeur de date valide de la culture spécifiée à partir de la Calendar.MaxSupportedDateTime propriété .

S’applique à

Voir aussi