TimeZoneInfo.IsAmbiguousTime 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í.
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
- 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
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
- 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.