TimeZoneInfo.IsAmbiguousTime Método

Definición

Determina si un valor de fecha y hora determinado en una zona horaria concreta es ambiguo y se puede asignar a dos o más horas UTC (hora universal coordinada).

Sobrecargas

IsAmbiguousTime(DateTime)

Determina si un valor de fecha y hora determinado en una zona horaria concreta es ambiguo y se puede asignar a dos o más horas UTC (hora universal coordinada).

IsAmbiguousTime(DateTimeOffset)

Determina si un valor de fecha y hora determinado en una zona horaria concreta es ambiguo y se puede asignar a dos o más horas UTC (hora universal coordinada).

IsAmbiguousTime(DateTime)

Source:
TimeZoneInfo.cs
Source:
TimeZoneInfo.cs
Source:
TimeZoneInfo.cs

Determina si un valor de fecha y hora determinado en una zona horaria concreta es ambiguo y se puede asignar a dos o más horas UTC (hora universal coordinada).

public:
 bool IsAmbiguousTime(DateTime dateTime);
public bool IsAmbiguousTime (DateTime dateTime);
member this.IsAmbiguousTime : DateTime -> bool
Public Function IsAmbiguousTime (dateTime As DateTime) As Boolean

Parámetros

dateTime
DateTime

Valor de fecha y hora.

Devoluciones

Es true si el parámetro dateTime es ambiguo; en caso contrario, es false.

Excepciones

La propiedad Kind del valor dateTime es Local y dateTime es una hora no válida.

Ejemplos

En la zona horaria del Pacífico, el horario de verano termina a las 2:00 a.m. el 4 de noviembre de 2007. En el ejemplo siguiente se pasa la hora a intervalos de un minuto de 12:59 A.M. el 4 de noviembre de 2007 a las 2:01 A.M. del 4 de noviembre de 2007 al IsAmbiguousTime(DateTime) método de un TimeZoneInfo objeto que representa la zona horaria del Pacífico. La salida de la consola indica que todas las veces de 1:00 A.M. el 4 de noviembre de 2007 a las 1:59 A.M. el 4 de noviembre de 2007 son ambiguos.

   // Specify DateTimeKind in Date constructor
   DateTime baseTime = new DateTime(2007, 11, 4, 0, 59, 00, DateTimeKind.Unspecified);
   DateTime newTime;

   // Get Pacific Standard Time zone
   TimeZoneInfo pstZone = TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time");

   // List possible ambiguous times for 63-minute interval, from 12:59 AM to 2: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 ambiguous: {1}", newTime, pstZone.IsAmbiguousTime(newTime));
   }
// Specify DateTimeKind in Date constructor
let baseTime = DateTime(2007, 11, 4, 0, 59, 00, DateTimeKind.Unspecified)

// Get Pacific Standard Time zone
let pstZone = TimeZoneInfo.FindSystemTimeZoneById "Pacific Standard Time"

// List possible ambiguous times for 63-minute interval, from 12:59 AM to 2: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 ambiguous: {pstZone.IsAmbiguousTime newTime}"
' Specify DateTimeKind in Date constructor
Dim baseTime As New Date(2007, 11, 4, 0, 59, 00, DateTimeKind.Unspecified)
Dim newTime As Date

' Get Pacific Standard Time zone
Dim pstZone As TimeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time")

' List possible ambiguous times for 63-minute interval, from 12:59 AM to 2: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 ambiguous: {1}", newTime, pstZone.IsAmbiguousTime(newTime))
Next

Comentarios

Una hora ambigua se encuentra dentro de un intervalo de horas para la zona horaria actual. Esto significa que puede ser una hora estándar o una hora resultante de la aplicación de una regla de ajuste. Normalmente, las horas ambiguas se producen cuando el reloj se establece para volver a la hora estándar desde el horario de verano. Consulte la sección Ejemplo para obtener una ilustración.

La hora universal coordinada (UTC) no tiene horas ambiguas; tampoco las zonas horarias que no admiten el horario de verano. Por lo tanto, estas zonas horarias no tienen reglas de ajuste y las llamadas al IsAmbiguousTime método siempre devuelven false.

En el caso de las zonas horarias que observan el horario de verano, el comportamiento preciso de este método depende de la relación entre la Kind propiedad y el TimeZoneInfo objeto, como se muestra en la tabla siguiente.

Tipo de objeto TimeZoneInfo Valor de la propiedad Kind Comportamiento
TimeZoneInfo.Local DateTimeKind.Local o DateTimeKind.Unspecified Determina si el dateTime parámetro es ambiguo.
TimeZoneInfo.Local DateTimeKind.Utc dateTime Convierte en la hora local y, a continuación, determina si esa hora es ambigua.
TimeZoneInfo.Utc DateTimeKind.Utc o DateTimeKind.Unspecified Devuelve false.
TimeZoneInfo.Utc DateTimeKind.Local Si dateTime es ambiguo, supone que es una hora estándar, la convierte en UTC y devuelve false.
Cualquier otra zona horaria. DateTimeKind.Local o DateTimeKind.Utc dateTime Convierte en la hora de la zona horaria especificada y, a continuación, determina si esa hora es ambigua.
Cualquier otra zona horaria. DateTimeKind.Unspecified Determina si dateTime es ambiguo.

Consulte también

Se aplica a

IsAmbiguousTime(DateTimeOffset)

Source:
TimeZoneInfo.cs
Source:
TimeZoneInfo.cs
Source:
TimeZoneInfo.cs

Determina si un valor de fecha y hora determinado en una zona horaria concreta es ambiguo y se puede asignar a dos o más horas UTC (hora universal coordinada).

public:
 bool IsAmbiguousTime(DateTimeOffset dateTimeOffset);
public bool IsAmbiguousTime (DateTimeOffset dateTimeOffset);
member this.IsAmbiguousTime : DateTimeOffset -> bool
Public Function IsAmbiguousTime (dateTimeOffset As DateTimeOffset) As Boolean

Parámetros

dateTimeOffset
DateTimeOffset

Fecha y hora.

Devoluciones

Es true si el parámetro dateTimeOffset es ambiguo en la zona horaria actual; en caso contrario, es false.

Comentarios

Una hora ambigua se encuentra dentro de un intervalo de horas para la zona horaria actual. Esto significa que puede ser una hora estándar o una hora resultante de la aplicación de una regla de ajuste. Normalmente, las horas ambiguas se producen cuando el reloj se establece para volver a la hora estándar desde el horario de verano. La hora universal coordinada (UTC) no tiene horas ambiguas; tampoco las zonas horarias que no admiten el horario de verano.

El comportamiento preciso del método depende de la relación entre la Offset propiedad del dateTimeOffset parámetro y la zona horaria actual. Si el valor de la Offset propiedad es un posible desplazamiento desde la hora UTC de la zona horaria actual, el método determina si esa fecha y hora es ambigua. De lo contrario, se convierte dateTimeOffset en la hora de la zona horaria actual y, a continuación, determina si esa fecha y hora es ambigua.

Se aplica a