TimeZoneInfo.IsInvalidTime(DateTime) Método
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í.
Indica si una fecha y hora determinadas no son válidas.
public:
bool IsInvalidTime(DateTime dateTime);
public bool IsInvalidTime (DateTime dateTime);
member this.IsInvalidTime : DateTime -> bool
Public Function IsInvalidTime (dateTime As DateTime) As Boolean
Parámetros
- dateTime
- DateTime
Valor de fecha y hora.
Devoluciones
Es true
si dateTime
no es válida; en caso contrario, es false
.
Ejemplos
En la zona horaria del Pacífico, el horario de verano comienza a las 2:00 a.m. el 2 de abril de 2006. El código siguiente pasa el tiempo a intervalos de un minuto desde las 1:59 A.M. el 2 de abril de 2006 a las 3:01 A.M. el 2 de abril de 2006, al IsInvalidTime método de un TimeZoneInfo objeto que representa la zona horaria del Pacífico. La salida de la consola indica que todas las veces desde las 2:00 A.M. el 2 de abril de 2006 a las 2:59 A.M. el 2 de abril de 2006, no son válidos.
// Specify DateTimeKind in Date constructor
DateTime baseTime = new DateTime(2007, 3, 11, 1, 59, 0, DateTimeKind.Unspecified);
DateTime newTime;
// Get Pacific Standard Time zone
TimeZoneInfo pstZone = TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time");
// List possible invalid times for a 63-minute interval, from 1:59 AM to 3:01 AM
for (int ctr = 0; ctr < 63; ctr++)
{
// Because of assignment, newTime.Kind is also DateTimeKind.Unspecified
newTime = baseTime.AddMinutes(ctr);
Console.WriteLine("{0} is invalid: {1}", newTime, pstZone.IsInvalidTime(newTime));
}
// Specify DateTimeKind in Date constructor
let baseTime = DateTime(2007, 3, 11, 1, 59, 0, DateTimeKind.Unspecified)
// Get Pacific Standard Time zone
let pstZone = TimeZoneInfo.FindSystemTimeZoneById "Pacific Standard Time"
// List possible invalid times for a 63-minute interval, from 1:59 AM to 3:01 AM
for i = 0 to 62 do
// Because of assignment, newTime.Kind is also DateTimeKind.Unspecified
let newTime = baseTime.AddMinutes i
printfn $"{newTime} is invalid: {pstZone.IsInvalidTime newTime}"
' Specify DateTimeKind in Date constructor
Dim baseTime As New Date(2007, 3, 11, 1, 59, 0, DateTimeKind.Unspecified)
Dim newTime As Date
' Get Pacific Standard Time zone
Dim pstZone As TimeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time")
' List possible invalid times for 63-minute interval, from 1:59 AM to 3:01 AM
For ctr As Integer = 0 To 62
' Because of assignment, newTime.Kind is also DateTimeKind.Unspecified
newTime = baseTime.AddMinutes(ctr)
Console.WriteLine("{0} is invalid: {1}", newTime, pstZone.IsInvalidTime(newTime))
Next
Comentarios
Una hora no válida se encuentra dentro de un intervalo de horas para la zona horaria actual que no se puede asignar a la hora universal coordinada (UTC) debido a la aplicación de una regla de ajuste. Normalmente, las horas no válidas se producen cuando el tiempo avanza para el horario de verano. Consulte la sección Ejemplo para obtener una ilustración.
El valor de la Kind propiedad del dateTime
parámetro afecta a si dateTime
representa una hora no válida, como se muestra en la tabla siguiente.
Propiedad DateTime.Kind | Objeto TimeZoneInfo (si procede) | Comportamiento |
---|---|---|
DateTimeKind.Local | TimeZoneInfo.Local | Determina si la hora no es válida. |
DateTimeKind.Local | TimeZoneInfo.Utc o una zona horaria no local. | dateTime Convierte en la hora del TimeZoneInfo objeto y devuelve false . |
DateTimeKind.Unspecified | No es aplicable. | dateTime Se supone que es el tiempo del TimeZoneInfo objeto y determina si no es válido. |
DateTimeKind.Utc | No es aplicable. | Devuelve false . |