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если параметр является неоднозначным; в противном случае .
Исключения
Примеры
В часовом поясе Тихого океана летнее время заканчивается в 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 в время в текущем часовом поясе, а затем определяет, является ли эта дата и время неоднозначными.