TimeZoneInfo.IsAmbiguousTime Метод

Определение

Определяет, являются ли заданная дата и время в заданном часовом поясе неоднозначными и можно ли им сопоставить два и более момента времени в формате UTC.Determines whether a particular date and time in a particular time zone is ambiguous and can be mapped to two or more Coordinated Universal Time (UTC) times.

Перегрузки

IsAmbiguousTime(DateTime)

Определяет, являются ли заданная дата и время в заданном часовом поясе неоднозначными и можно ли им сопоставить два и более момента времени в формате UTC.Determines whether a particular date and time in a particular time zone is ambiguous and can be mapped to two or more Coordinated Universal Time (UTC) times.

IsAmbiguousTime(DateTimeOffset)

Определяет, являются ли заданная дата и время в заданном часовом поясе неоднозначными и можно ли им сопоставить два и более момента времени в формате UTC.Determines whether a particular date and time in a particular time zone is ambiguous and can be mapped to two or more Coordinated Universal Time (UTC) times.

IsAmbiguousTime(DateTime)

Определяет, являются ли заданная дата и время в заданном часовом поясе неоднозначными и можно ли им сопоставить два и более момента времени в формате UTC.Determines whether a particular date and time in a particular time zone is ambiguous and can be mapped to two or more Coordinated Universal Time (UTC) times.

public:
 bool IsAmbiguousTime(DateTime dateTime);
public bool IsAmbiguousTime (DateTime dateTime);
member this.IsAmbiguousTime : DateTime -> bool

Параметры

dateTime
DateTime

Значение даты и времени.A date and time value.

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

Значение true, если параметр dateTime неоднозначен; в противном случае — значение false.true if the dateTime parameter is ambiguous; otherwise, false.

Исключения

Свойство Kind значения dateTime — Local, а dateTime — недопустимое время.The Kind property of the dateTime value is Local and dateTime is an invalid time.

Примеры

В тихоокеанском часовом поясе летнее время заканчивается на 2:00 утра.In the Pacific Time zone, daylight saving time ends at 2:00 A.M. 4 ноября 2007 г.on November 4, 2007. В следующем примере время передается через одну минуту с 12:59 утра.The following example passes the time at one-minute intervals from 12:59 A.M. 4 ноября 2007 г. до 2:01 утраon November 4, 2007, to 2:01 A.M. 4 ноября 2007 к методу IsAmbiguousTime(DateTime) объекта TimeZoneInfo, представляющего тихоокеанское значение часового пояса.on November 4, 2007, to the IsAmbiguousTime(DateTime) method of a TimeZoneInfo object that represents the Pacific Time zone. Выходные данные консоли показывают, что все значения времени с 1:00 утраThe console output indicates that all times from 1:00 A.M. 4 ноября 2007 г. до 1:59 утраon November 4, 2007, to 1:59 A.M. 4 ноября 2007 не являются неоднозначными.on November 4, 2007, are ambiguous.

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

Комментарии

Неоднозначное время попадает в диапазон времени для текущего часового пояса.An ambiguous time falls within a range of times for the current time zone. Это означает, что это может быть либо стандартное время, либо время, полученное в результате применения правила коррекции.This means it can be either a standard time or a time that results from the application of an adjustment rule. Обычно неоднозначные значения времени, когда часы задаются на зимнее время с летнего времени.Typically, ambiguous times result when the clock is set to return to standard time from daylight saving time. Иллюстрации см. в разделе "пример".See the Example section for an illustration.

Всеобщее скоординированное время (UTC) не имеет неоднозначных значений времени; ни один из часовых поясов не поддерживает летнее время.Coordinated Universal Time (UTC) has no ambiguous times; neither do time zones that do not support daylight saving time. Таким образом, эти часовые пояса не имеют правил коррекции и вызовы метода IsAmbiguousTime всегда возвращают false.Therefore, these time zones have no adjustment rules and calls to the IsAmbiguousTime method always return false.

Для часовых поясов, которые выполняют летнее время, точное поведение этого метода зависит от связи между свойством Kind и объектом TimeZoneInfo, как показано в следующей таблице.For time zones that do observe daylight saving time, the precise behavior of this method depends on the relationship between the Kind property and the TimeZoneInfo object, as the following table shows.

Тип объекта TimeZoneInfoTimeZoneInfo object type Значение свойства KindKind property value ПоведениеBehavior
TimeZoneInfo.Local DateTimeKind.Local или DateTimeKind.UnspecifiedDateTimeKind.Local or DateTimeKind.Unspecified Определяет, является ли параметр dateTime неоднозначным.Determines whether the dateTime parameter is ambiguous.
TimeZoneInfo.Local DateTimeKind.Utc Преобразует dateTime в местное время, а затем определяет, является ли это время неоднозначным.Converts dateTime to the local time and then determines whether that time is ambiguous.
TimeZoneInfo.Utc DateTimeKind.Utc или DateTimeKind.UnspecifiedDateTimeKind.Utc or DateTimeKind.Unspecified Возвращает false.Returns false.
TimeZoneInfo.Utc DateTimeKind.Local Если dateTime является неоднозначным, предполагается, что это стандартное время, преобразует его в формат UTC и возвращает false.If dateTime is ambiguous, assumes it is a standard time, converts it to UTC, and returns false.
Любой другой часовой пояс.Any other time zone. DateTimeKind.Local или DateTimeKind.UtcDateTimeKind.Local or DateTimeKind.Utc Преобразует dateTime в время в указанном часовом поясе, а затем определяет, является ли это время неоднозначным.Converts dateTime to the time in the specified time zone and then determines whether that time is ambiguous.
Любой другой часовой пояс.Any other time zone. DateTimeKind.Unspecified Определяет, является ли dateTime неоднозначным.Determines whether dateTime is ambiguous.

Дополнительно

IsAmbiguousTime(DateTimeOffset)

Определяет, являются ли заданная дата и время в заданном часовом поясе неоднозначными и можно ли им сопоставить два и более момента времени в формате UTC.Determines whether a particular date and time in a particular time zone is ambiguous and can be mapped to two or more Coordinated Universal Time (UTC) times.

public:
 bool IsAmbiguousTime(DateTimeOffset dateTimeOffset);
public bool IsAmbiguousTime (DateTimeOffset dateTimeOffset);
member this.IsAmbiguousTime : DateTimeOffset -> bool

Параметры

dateTimeOffset
DateTimeOffset

Дата и время.A date and time.

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

Значение true, если значение параметра dateTimeOffset в текущем часовом поясе является неоднозначным; в противном случае — значение false.true if the dateTimeOffset parameter is ambiguous in the current time zone; otherwise, false.

Комментарии

Неоднозначное время попадает в диапазон времени для текущего часового пояса.An ambiguous time falls within a range of times for the current time zone. Это означает, что это может быть либо стандартное время, либо время, полученное в результате применения правила коррекции.This means that it can be either a standard time or a time that results from the application of an adjustment rule. Обычно неоднозначные значения времени, когда часы задаются на зимнее время с летнего времени.Typically, ambiguous times result when the clock is set to return to standard time from daylight saving time. Всеобщее скоординированное время (UTC) не имеет неоднозначных значений времени; ни один из часовых поясов не поддерживает летнее время.Coordinated Universal Time (UTC) has no ambiguous times; neither do time zones that do not support daylight saving time.

Точное поведение метода зависит от связи между свойством Offset параметра dateTimeOffset и текущим часовым поясом.The precise behavior of the method depends on the relationship between the Offset property of the dateTimeOffset parameter and the current time zone. Если значение свойства Offset является возможным смещением относительно времени в формате UTC текущего часового пояса, метод определяет, является ли дата и время неоднозначными.If the value of the Offset property is a possible offset from the UTC of the current time zone, the method determines whether that date and time is ambiguous. В противном случае он преобразует dateTimeOffset в время в текущем часовом поясе, а затем определяет, является ли дата и время неоднозначными.Otherwise, it converts dateTimeOffset to the time in the current time zone, and then determines whether that date and time is ambiguous.

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