TimeZoneInfo.IsAmbiguousTime Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Determina se uma data e hora específicas num determinado fuso horário são ambíguas e pode ser mapeada para duas ou mais horas de Tempo Universal Coordenado (UTC).
Sobrecargas
| Name | Description |
|---|---|
| IsAmbiguousTime(DateTime) |
Determina se uma data e hora específicas num determinado fuso horário são ambíguas e pode ser mapeada para duas ou mais horas de Tempo Universal Coordenado (UTC). |
| IsAmbiguousTime(DateTimeOffset) |
Determina se uma data e hora específicas num determinado fuso horário são ambíguas e pode ser mapeada para duas ou mais horas de Tempo Universal Coordenado (UTC). |
IsAmbiguousTime(DateTime)
- Origem:
- TimeZoneInfo.cs
- Origem:
- TimeZoneInfo.cs
- Origem:
- TimeZoneInfo.cs
- Origem:
- TimeZoneInfo.cs
- Origem:
- TimeZoneInfo.cs
Determina se uma data e hora específicas num determinado fuso horário são ambíguas e pode ser mapeada para duas ou mais horas de Tempo Universal Coordenado (UTC).
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
Um valor de data e hora.
Devoluções
true se o dateTime parâmetro for ambíguo; caso contrário, false.
Exceções
Exemplos
No fuso horário do Pacífico, o horário de verão termina às 2:00 da manhã de 4 de novembro de 2007. O exemplo seguinte passa o tempo em intervalos de um minuto, desde as 00:59 do dia 4 de novembro de 2007 até às 2:01 da manhã do dia 4 de novembro de 2007, até ao IsAmbiguousTime(DateTime) método de um TimeZoneInfo objeto que representa o fuso horário do Pacífico. A saída da consola indica que todos os horários entre a 1:00 da manhã de 4 de novembro de 2007 e as 1:59 da manhã de 4 de novembro de 2007 são ambíguos.
// 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
Observações
Uma hora ambígua enquadra-se num intervalo de horários para o fuso horário atual. Isto significa que pode ser um tempo padrão ou um tempo resultante da aplicação de uma regra de ajuste. Normalmente, os horários ambíguos resultam quando o relógio é ajustado para regressar à hora padrão a partir do horário de verão. Veja a secção Exemplo para uma ilustração.
O Tempo Universal Coordenado (UTC) não tem tempos ambíguos; nem os fusos horários que não suportam o horário de verão. Portanto, estes fusos horários não têm regras de ajuste e as chamadas ao IsAmbiguousTime método retornam falsesempre .
Para fusos horários que observam o horário de verão, o comportamento preciso deste método depende da relação entre a Kind propriedade e o TimeZoneInfo objeto, como mostra a tabela seguinte.
| Tipo de objeto TimeZoneInfo | Valor da propriedade | Comportamento |
|---|---|---|
| TimeZoneInfo.Local | DateTimeKind.Local ou DateTimeKind.Unspecified | Determina se o dateTime parâmetro é ambíguo. |
| TimeZoneInfo.Local | DateTimeKind.Utc | Converte dateTime para a hora local e depois determina se essa hora é ambígua. |
| TimeZoneInfo.Utc | DateTimeKind.Utc ou DateTimeKind.Unspecified | Retorna false. |
| TimeZoneInfo.Utc | DateTimeKind.Local | Se dateTime for ambíguo, assume que é uma hora padrão, converte-a para UTC e retorna false. |
| Qualquer outro fuso horário. | DateTimeKind.Local ou DateTimeKind.Utc | Converte dateTime para a hora no fuso horário especificado e depois determina se essa hora é ambígua. |
| Qualquer outro fuso horário. | DateTimeKind.Unspecified | Determina se dateTime é ambíguo. |
Ver também
Aplica-se a
IsAmbiguousTime(DateTimeOffset)
- Origem:
- TimeZoneInfo.cs
- Origem:
- TimeZoneInfo.cs
- Origem:
- TimeZoneInfo.cs
- Origem:
- TimeZoneInfo.cs
- Origem:
- TimeZoneInfo.cs
Determina se uma data e hora específicas num determinado fuso horário são ambíguas e pode ser mapeada para duas ou mais horas de Tempo Universal Coordenado (UTC).
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
Uma data e hora.
Devoluções
true se o dateTimeOffset parâmetro for ambíguo no fuso horário atual; caso contrário, false.
Observações
Uma hora ambígua enquadra-se num intervalo de horários para o fuso horário atual. Isto significa que pode ser um tempo padrão ou um tempo resultante da aplicação de uma regra de ajuste. Normalmente, os horários ambíguos resultam quando o relógio é ajustado para regressar à hora padrão a partir do horário de verão. O Tempo Universal Coordenado (UTC) não tem tempos ambíguos; nem os fusos horários que não suportam o horário de verão.
O comportamento preciso do método depende da relação entre a Offset propriedade do dateTimeOffset parâmetro e o fuso horário atual. Se o valor da Offset propriedade for um possível deslocamento em relação ao UTC do fuso horário atual, o método determina se essa data e hora são ambíguas. Caso contrário, converte dateTimeOffset para a hora no fuso horário atual e depois determina se essa data e hora são ambíguas.