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
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
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.