TimeZoneInfo.IsAmbiguousTime Метод

Определение

Определяет, является ли определенная дата и время в определенном часовом поясе неоднозначным и может быть сопоставлена с двумя или более времени в формате UTC.

Перегрузки

Имя Описание
IsAmbiguousTime(DateTime)

Определяет, является ли определенная дата и время в определенном часовом поясе неоднозначным и может быть сопоставлена с двумя или более времени в формате UTC.

IsAmbiguousTime(DateTimeOffset)

Определяет, является ли определенная дата и время в определенном часовом поясе неоднозначным и может быть сопоставлена с двумя или более времени в формате UTC.

IsAmbiguousTime(DateTime)

Исходный код:
TimeZoneInfo.cs
Исходный код:
TimeZoneInfo.cs
Исходный код:
TimeZoneInfo.cs
Исходный код:
TimeZoneInfo.cs
Исходный код:
TimeZoneInfo.cs

Определяет, является ли определенная дата и время в определенном часовом поясе неоднозначным и может быть сопоставлена с двумя или более времени в формате UTC.

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

Параметры

dateTime
DateTime

Значение даты и времени.

Возвращаемое значение

true dateTime Значение , falseесли параметр является неоднозначным; в противном случае .

Исключения

Свойство KinddateTime значения равно Local недопустимому dateTime времени.

Примеры

В часовом поясе Тихого океана летнее время заканчивается в 2:00 утра 4 ноября 2007 года. В следующем примере время передается с 12:59 утра 4 ноября 2007 г. до 2:01 4 ноября 2007 г. до 4 ноября 2007 г. в IsAmbiguousTime(DateTime) метод TimeZoneInfo объекта, представляющего часовой пояс Тихого океана. Выходные данные консоли указывают на то, что все время с 1:00 утра 4 ноября 2007 года до 1:59 утра 4 ноября 2007 года неоднозначны.

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

Комментарии

Неоднозначное время попадает в диапазон времени для текущего часового пояса. Это означает, что это может быть стандартное время или время, которое приводит к применению правила корректировки. Как правило, неоднозначный результат времени, когда часы задаются для возврата к стандартному времени из летнего времени. См. раздел "Пример" для иллюстрации.

Координированное универсальное время (UTC) не имеет неоднозначных времен; не следует делать часовых поясов, которые не поддерживают летнее время. Поэтому эти часовые пояса не имеют правил корректировки и вызовов IsAmbiguousTime метода всегда возвращаются false.

Для часовых поясов, которые соблюдают летнее время, точное поведение этого метода зависит от связи между Kind свойством и TimeZoneInfo объектом, как показано в следующей таблице.

Тип объекта TimeZoneInfo Значение свойства Kind Поведение
TimeZoneInfo.Local DateTimeKind.Local или DateTimeKind.Unspecified Определяет, является ли dateTime параметр неоднозначным.
TimeZoneInfo.Local DateTimeKind.Utc dateTime Преобразуется в локальное время, а затем определяет, является ли это неоднозначным.
TimeZoneInfo.Utc DateTimeKind.Utc или DateTimeKind.Unspecified Возвращает false.
TimeZoneInfo.Utc DateTimeKind.Local Если dateTime неоднозначно, предполагается, что это стандартное время, преобразует его в формате UTC и возвращается false.
Любой другой часовой пояс. DateTimeKind.Local или DateTimeKind.Utc dateTime Преобразуется в время в указанном часовом поясе, а затем определяет, является ли это время неоднозначным.
Любой другой часовой пояс. DateTimeKind.Unspecified Определяет, является ли dateTime неоднозначным.

См. также раздел

Применяется к

IsAmbiguousTime(DateTimeOffset)

Исходный код:
TimeZoneInfo.cs
Исходный код:
TimeZoneInfo.cs
Исходный код:
TimeZoneInfo.cs
Исходный код:
TimeZoneInfo.cs
Исходный код:
TimeZoneInfo.cs

Определяет, является ли определенная дата и время в определенном часовом поясе неоднозначным и может быть сопоставлена с двумя или более времени в формате UTC.

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

Параметры

dateTimeOffset
DateTimeOffset

Дата и время.

Возвращаемое значение

true dateTimeOffset Значение , если параметр является неоднозначным в текущем часовом поясе; в противном случае . false

Комментарии

Неоднозначное время попадает в диапазон времени для текущего часового пояса. Это означает, что это может быть стандартное время или время, которое приводит к применению правила корректировки. Как правило, неоднозначный результат времени, когда часы задаются для возврата к стандартному времени из летнего времени. Координированное универсальное время (UTC) не имеет неоднозначных времен; не следует делать часовых поясов, которые не поддерживают летнее время.

Точное поведение метода зависит от связи между свойством OffsetdateTimeOffset параметра и текущим часовом поясом. Если значение Offset свойства является возможным смещением из UTC текущего часового пояса, метод определяет, является ли эта дата и время неоднозначными. В противном случае он преобразуется dateTimeOffset в время в текущем часовом поясе, а затем определяет, является ли эта дата и время неоднозначными.

Применяется к