DateTime.MaxValue Campo
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Representa el mayor valor posible de DateTime. Este campo es de solo lectura.
public: static initonly DateTime MaxValue;
public static readonly DateTime MaxValue;
staticval mutable MaxValue : DateTime
Public Shared ReadOnly MaxValue As DateTime
Valor de campo
Ejemplos
En el ejemplo siguiente se crea una instancia de un DateTime objeto pasando su constructor un Int64 valor que representa una serie de tics. Antes de invocar el constructor, el ejemplo garantiza que este valor sea mayor o igual que DateTime.MinValue.Ticks
y menor o igual que DateTime.MaxValue.Ticks
. Si no es así, produce una ArgumentOutOfRangeExceptionexcepción .
// 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.
Comentarios
El valor de esta constante es equivalente a las 23:59:59.9999999 UTC, 31 de diciembre de 9999 en el calendario gregoriano, exactamente un tic de 100 nanosegundos antes de las 00:00:00 UTC, 1 de enero de 10000.
Algunos calendarios, como , ThaiBuddhistCalendaradmiten un intervalo de fechas superior anterior a MaxValue. En estos casos, intentar obtener acceso MaxValue en asignaciones de variables o aplicar formato y operaciones de análisis puede producir .ArgumentOutOfRangeException En lugar de recuperar el valor de DateTime.MaxValue, puede recuperar el valor de la fecha válida más reciente de la referencia cultural especificada de la Calendar.MaxSupportedDateTime propiedad .