TimeZoneInfo.IsDaylightSavingTime Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Указывает, падает ли указанная дата и время в диапазоне летнего времени для часового пояса текущего TimeZoneInfo объекта.
Перегрузки
| Имя | Описание |
|---|---|
| IsDaylightSavingTime(DateTime) |
Указывает, падает ли указанная дата и время в диапазоне летнего времени для часового пояса текущего TimeZoneInfo объекта. |
| IsDaylightSavingTime(DateTimeOffset) |
Указывает, падает ли указанная дата и время в диапазоне летнего времени для часового пояса текущего TimeZoneInfo объекта. |
IsDaylightSavingTime(DateTime)
- Исходный код:
- TimeZoneInfo.cs
- Исходный код:
- TimeZoneInfo.cs
- Исходный код:
- TimeZoneInfo.cs
- Исходный код:
- TimeZoneInfo.cs
- Исходный код:
- TimeZoneInfo.cs
Указывает, падает ли указанная дата и время в диапазоне летнего времени для часового пояса текущего TimeZoneInfo объекта.
public:
bool IsDaylightSavingTime(DateTime dateTime);
public bool IsDaylightSavingTime(DateTime dateTime);
member this.IsDaylightSavingTime : DateTime -> bool
Public Function IsDaylightSavingTime (dateTime As DateTime) As Boolean
Параметры
- dateTime
- DateTime
Значение даты и времени.
Возвращаемое значение
true
dateTime Значение , если параметр является временем летнего времени; в противном случае false.
Исключения
Примеры
В следующем примере определяется метод с именем DisplayDateWithTimeZoneName , который использует TimeZoneInfo.IsDaylightSavingTime метод для определения того, следует ли отображать стандартное имя часового пояса или имя времени летнего времени.
private void DisplayDateWithTimeZoneName(DateTime date1, TimeZoneInfo timeZone)
{
Console.WriteLine("The time is {0:t} on {0:d} {1}",
date1,
timeZone.IsDaylightSavingTime(date1) ?
timeZone.DaylightName : timeZone.StandardName);
}
// The example displays output similar to the following:
// The time is 1:00 AM on 4/2/2006 Pacific Standard Time
let displayDateWithTimeZoneName (date1: DateTime) (timeZone: TimeZoneInfo) =
printfn $"The time is {date1:t} on {date1:d} {if timeZone.IsDaylightSavingTime date1 then timeZone.DaylightName else timeZone.StandardName}"
// The example displays output similar to the following:
// The time is 1:00 AM on 4/2/2006 Pacific Standard Time
Private Sub DisplayDateWithTimeZoneName(date1 As Date, timeZone As TimeZoneInfo)
Console.WriteLine("The time is {0:t} on {0:d} {1}", _
date1, _
IIf(timeZone.IsDaylightSavingTime(date1), _
timezone.DaylightName, timezone.StandardName))
End Sub
' The example displays output similar to the following:
' The time is 1:00 AM on 4/2/2006 Pacific Standard Time
Комментарии
Возвращаемое значение TimeZoneInfo.IsDaylightSavingTime влияет на связь между часовой поясом, представленным TimeZoneInfo объектом и Kind свойством параметра, как показано в следующей dateTime таблице.
| Объект TimeZoneInfo | Свойство DateTime.Kind | Результат |
|---|---|---|
| TimeZoneInfo.Local | DateTimeKind.Local |
Определяет, является ли dateTime летнее время. |
| TimeZoneInfo.Local | DateTimeKind.Utc |
dateTime Преобразуется из координированного универсального времени (UTC) в местное время и определяет, является ли оно временем летнего времени. |
| TimeZoneInfo.Local | DateTimeKind.Unspecified |
Предполагает, что представляет локальное время и определяет, dateTime является ли это летнее время. |
| TimeZoneInfo.Utc |
DateTimeKind.Local, DateTimeKind.Unspecified или DateTimeKind.Utc |
Возвращает false (UTC не поддерживает летнее время). |
| Любой другой TimeZoneInfo объект. | DateTimeKind.Local |
Преобразует локальное время в эквивалентный момент объекта, а затем определяет, является ли последний временем летнего TimeZoneInfo времени. |
| Любой другой TimeZoneInfo объект. | DateTimeKind.Utc |
Преобразует UTC в эквивалентный момент объекта, а затем определяет, является ли последний временем летнего TimeZoneInfo времени. |
| Любой другой TimeZoneInfo объект. | DateTimeKind.Unspecified |
Определяет, является ли dateTime летнее время. |
Если часовой пояс, TimeZoneInfo представленный объектом, не поддерживает летнее время, метод всегда возвращается false. Ряд часовых поясов, в том числе Utc, не наблюдается летнего времени. Чтобы определить, поддерживает ли часовой пояс летнее время, получите значение его SupportsDaylightSavingTime свойства.
dateTime Если параметр задает неоднозначное время в часовом поясе текущего объекта, TimeZoneInfo.IsDaylightSavingTime метод интерпретирует dateTime его как стандартное время и возвращает false значение, если его Kind свойство равно DateTimeKind.Local илиDateTimeKind.Unspecified.
Kind Если свойство имеет значениеDateTimeKind.Utc, этот метод выберет правильное неоднозначное время и указывает, является ли это временем летнего времени.
TimeZoneInfo.IsDaylightSavingTime(DateTime) Так как метод может возвращать false дату и время, неоднозначное (то есть дату и время, которое может представлять стандартное время или летнее время в определенном часовом поясе), TimeZoneInfo.IsAmbiguousTime(DateTime) метод можно связать с IsDaylightSavingTime(DateTime) методом, чтобы определить, может ли время быть временем летнего времени. Так как неоднозначное время является одним из них, которое может быть как временем летнего времени, так и стандартным временем, метод может быть вызван первым, IsAmbiguousTime(DateTime) чтобы определить, может ли дата и время быть временем летнего времени. Если метод возвращается false, IsDaylightSavingTime(DateTime) метод можно вызвать, чтобы определить, является ли DateTime значение временем летнего времени. В следующем примере показан этот метод.
DateTime unclearDate = new DateTime(2007, 11, 4, 1, 30, 0);
// Test if time is ambiguous.
Console.WriteLine("In the {0}, {1} is {2}ambiguous.",
TimeZoneInfo.Local.DisplayName,
unclearDate,
TimeZoneInfo.Local.IsAmbiguousTime(unclearDate) ? "" : "not ");
// Test if time is DST.
Console.WriteLine("In the {0}, {1} is {2}daylight saving time.",
TimeZoneInfo.Local.DisplayName,
unclearDate,
TimeZoneInfo.Local.IsDaylightSavingTime(unclearDate) ? "" : "not ");
Console.WriteLine();
// Report time as DST if it is either ambiguous or DST.
if (TimeZoneInfo.Local.IsAmbiguousTime(unclearDate) ||
TimeZoneInfo.Local.IsDaylightSavingTime(unclearDate))
Console.WriteLine("{0} may be daylight saving time in {1}.",
unclearDate, TimeZoneInfo.Local.DisplayName);
// The example displays the following output:
// In the (GMT-08:00) Pacific Time (US & Canada), 11/4/2007 1:30:00 AM is ambiguous.
// In the (GMT-08:00) Pacific Time (US & Canada), 11/4/2007 1:30:00 AM is not daylight saving time.
//
// 11/4/2007 1:30:00 AM may be daylight saving time in (GMT-08:00) Pacific Time (US & Canada).
let unclearDate = DateTime(2007, 11, 4, 1, 30, 0)
// Test if time is ambiguous.
printfn $"""In the {TimeZoneInfo.Local.DisplayName}, {unclearDate} is {if TimeZoneInfo.Local.IsAmbiguousTime unclearDate then "" else "not "}ambiguous."""
// Test if time is DST.
printfn $"""In the {TimeZoneInfo.Local.DisplayName}, {unclearDate} is {if TimeZoneInfo.Local.IsDaylightSavingTime unclearDate then "" else "not "}daylight saving time.
"""
// Report time as DST if it is either ambiguous or DST.
if TimeZoneInfo.Local.IsAmbiguousTime unclearDate || TimeZoneInfo.Local.IsDaylightSavingTime unclearDate then
printfn $"{unclearDate} may be daylight saving time in {TimeZoneInfo.Local.DisplayName}."
// The example displays the following output:
// In the (GMT-08:00) Pacific Time (US & Canada), 11/4/2007 1:30:00 AM is ambiguous.
// In the (GMT-08:00) Pacific Time (US & Canada), 11/4/2007 1:30:00 AM is not daylight saving time.
//
// 11/4/2007 1:30:00 AM may be daylight saving time in (GMT-08:00) Pacific Time (US & Canada).
Dim unclearDate As Date = #11/4/2007 1:30AM#
' Test if time is ambiguous.
Console.WriteLine("In the {0}, {1} is {2}ambiguous.", _
TimeZoneInfo.Local.DisplayName, _
unclearDate, _
IIf(TimeZoneInfo.Local.IsAmbiguousTime(unclearDate), "", "not "))
' Test if time is DST.
Console.WriteLine("In the {0}, {1} is {2}daylight saving time.", _
TimeZoneInfo.Local.DisplayName, _
unclearDate, _
IIf(TimeZoneInfo.Local.IsDaylightSavingTime(unclearDate), "", "not "))
Console.WriteLine()
' Report time as DST if it is either ambiguous or DST.
If TimeZoneInfo.Local.IsAmbiguousTime(unclearDate) OrElse _
TimeZoneInfo.Local.IsDaylightSavingTime(unclearDate) Then
Console.WriteLine("{0} may be daylight saving time in {1}.", _
unclearDate, TimeZoneInfo.Local.DisplayName)
End If
' The example displays the following output:
' In the (GMT-08:00) Pacific Time (US & Canada), 11/4/2007 1:30:00 AM is ambiguous.
' In the (GMT-08:00) Pacific Time (US & Canada), 11/4/2007 1:30:00 AM is not daylight saving time.
'
' 11/4/2007 1:30:00 AM may be daylight saving time in (GMT-08:00) Pacific Time (US & Canada).
dateTime Если параметр указывает недопустимое время, вызов метода вызывает ArgumentException исключение, если значение dateTime свойства параметра Kind равноDateTimeKind.Local; в противном случае метод возвращаетсяfalse.
TimeZoneInfo.IsDaylightSavingTime Вызовите метод, чтобы определить, следует ли использовать значение часового пояса StandardName или его DaylightName значение при отображении имени часового пояса. См. раздел "Пример" для иллюстрации.
См. также раздел
Применяется к
IsDaylightSavingTime(DateTimeOffset)
- Исходный код:
- TimeZoneInfo.cs
- Исходный код:
- TimeZoneInfo.cs
- Исходный код:
- TimeZoneInfo.cs
- Исходный код:
- TimeZoneInfo.cs
- Исходный код:
- TimeZoneInfo.cs
Указывает, падает ли указанная дата и время в диапазоне летнего времени для часового пояса текущего TimeZoneInfo объекта.
public:
bool IsDaylightSavingTime(DateTimeOffset dateTimeOffset);
public bool IsDaylightSavingTime(DateTimeOffset dateTimeOffset);
member this.IsDaylightSavingTime : DateTimeOffset -> bool
Public Function IsDaylightSavingTime (dateTimeOffset As DateTimeOffset) As Boolean
Параметры
- dateTimeOffset
- DateTimeOffset
Значение даты и времени.
Возвращаемое значение
true
dateTimeOffset Значение , если параметр является временем летнего времени; в противном случае false.
Комментарии
Возвращаемое значение TimeZoneInfo.IsDaylightSavingTime влияет на связь между часовой поясом, представленным TimeZoneInfo объектом и Offset свойством dateTimeOffset параметра. Если dateTimeOffset не соответствует смещение текущего часового пояса от координированного универсального времени (UTC), метод преобразует это время в время в текущем часовом поясе. Затем определяет, является ли эта дата и время временем летнего времени.
Если часовой пояс, TimeZoneInfo представленный объектом, не поддерживает летнее время, метод всегда возвращается false. Чтобы определить, поддерживает ли часовой пояс летнее время, получите значение его SupportsDaylightSavingTime свойства.