TimeZoneInfo.IsDaylightSavingTime Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Wskazuje, czy określona data i godzina przypada w zakresie czasu letniego dla strefy czasowej bieżącego TimeZoneInfo obiektu.
Przeciążenia
IsDaylightSavingTime(DateTime) |
Wskazuje, czy określona data i godzina przypada w zakresie czasu letniego dla strefy czasowej bieżącego TimeZoneInfo obiektu. |
IsDaylightSavingTime(DateTimeOffset) |
Wskazuje, czy określona data i godzina przypada w zakresie czasu letniego dla strefy czasowej bieżącego TimeZoneInfo obiektu. |
IsDaylightSavingTime(DateTime)
- Źródło:
- TimeZoneInfo.cs
- Źródło:
- TimeZoneInfo.cs
- Źródło:
- TimeZoneInfo.cs
Wskazuje, czy określona data i godzina przypada w zakresie czasu letniego dla strefy czasowej bieżącego TimeZoneInfo obiektu.
public:
bool IsDaylightSavingTime(DateTime dateTime);
public bool IsDaylightSavingTime (DateTime dateTime);
member this.IsDaylightSavingTime : DateTime -> bool
Public Function IsDaylightSavingTime (dateTime As DateTime) As Boolean
Parametry
- dateTime
- DateTime
Wartość daty i godziny.
Zwraca
true
dateTime
jeśli parametr jest czasem letnim, w przeciwnym razie . false
Wyjątki
Przykłady
W poniższym przykładzie zdefiniowano metodę o nazwie DisplayDateWithTimeZoneName
, która używa TimeZoneInfo.IsDaylightSavingTime metody w celu określenia, czy nazwa czasu standardowego strefy czasowej lub nazwa czasu letniego ma być wyświetlana.
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
Uwagi
Wartość zwracana parametru TimeZoneInfo.IsDaylightSavingTime ma wpływ na relację między strefą czasową reprezentowaną przez TimeZoneInfo obiekt i Kind właściwość parametru dateTime
, jak pokazano w poniższej tabeli.
TimeZoneInfo, obiekt | Właściwość DateTime.Kind | Wynik |
---|---|---|
TimeZoneInfo.Local | DateTimeKind.Local |
Określa, czy dateTime czas letni jest oszczędność czasu. |
TimeZoneInfo.Local | DateTimeKind.Utc |
Konwertuje dateTime z uniwersalnego czasu koordynowanego (UTC) na czas lokalny i określa, czy jest to czas letni. |
TimeZoneInfo.Local | DateTimeKind.Unspecified |
Przyjęto założenie, że dateTime reprezentuje czas lokalny i określa, czy jest to czas letni. |
TimeZoneInfo.Utc |
DateTimeKind.Local , DateTimeKind.Unspecified lub DateTimeKind.Utc |
Zwraca wartość false (UTC nie obsługuje czasu letniego). |
Dowolny inny TimeZoneInfo obiekt. | DateTimeKind.Local |
Konwertuje czas lokalny na równoważny czas TimeZoneInfo obiektu, a następnie określa, czy ten ostatni jest czas letni. |
Dowolny inny TimeZoneInfo obiekt. | DateTimeKind.Utc |
Konwertuje czas UTC na równoważny czas TimeZoneInfo obiektu, a następnie określa, czy ten ostatni jest czas letni. |
Dowolny inny TimeZoneInfo obiekt. | DateTimeKind.Unspecified |
Określa, czy dateTime czas letni jest oszczędność czasu. |
Jeśli strefa czasowa reprezentowana przez obiekt nie obsługuje czasu letniego TimeZoneInfo , metoda zawsze zwraca wartość false
. Wiele stref czasowych, w tym Utc, nie obserwuj czasu letniego. Aby określić, czy strefa czasowa obsługuje czas letni, pobierz wartość jej SupportsDaylightSavingTime właściwości.
dateTime
Jeśli parametr określa niejednoznaczny czas w strefie czasowej bieżącego obiektu, metoda interpretuje dateTime
jako czas standardowy i zwraca false
wartość , TimeZoneInfo.IsDaylightSavingTime jeśli jej Kind właściwość to DateTimeKind.Local lub DateTimeKind.Unspecified.
Kind Jeśli właściwość to DateTimeKind.Utc, ta metoda wybierze poprawny niejednoznaczny czas i wskaże, czy jest to czas letni.
TimeZoneInfo.IsDaylightSavingTime(DateTime) Ponieważ metoda może zwrócić false
datę i godzinę, która jest niejednoznaczna (tj. data i godzina, która może reprezentować czas standardowy lub czas letni w określonej strefie czasowej), TimeZoneInfo.IsAmbiguousTime(DateTime) metoda może być sparowana z IsDaylightSavingTime(DateTime) metodą w celu określenia, czy czas letni może być oszczędność czasu. Ponieważ niejednoznaczny czas jest taki, który może być zarówno czasem letnim, jak i standardowym, można wywołać metodę jako pierwszą, aby określić, IsAmbiguousTime(DateTime) czy data i godzina może być czasem letnim. Jeśli metoda zwróci false
metodę , można wywołać metodę w IsDaylightSavingTime(DateTime) celu określenia, czy DateTime wartość jest czasem letnim. Poniższy przykład ilustruje tę technikę.
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
Jeśli parametr określa nieprawidłowy czas, wywołanie metody zgłasza ArgumentException wartość , jeśli wartość dateTime
właściwości parametru Kind to DateTimeKind.Local; w przeciwnym razie metoda zwraca false
wartość .
Wywołaj metodę, TimeZoneInfo.IsDaylightSavingTime aby określić, czy należy użyć wartości strefy czasowej, czy jej DaylightName wartości podczas wyświetlania nazwy strefy StandardName czasowej. Zobacz sekcję Przykład, aby zapoznać się z ilustracją.
Zobacz też
Dotyczy
IsDaylightSavingTime(DateTimeOffset)
- Źródło:
- TimeZoneInfo.cs
- Źródło:
- TimeZoneInfo.cs
- Źródło:
- TimeZoneInfo.cs
Wskazuje, czy określona data i godzina przypada w zakresie czasu letniego dla strefy czasowej bieżącego TimeZoneInfo obiektu.
public:
bool IsDaylightSavingTime(DateTimeOffset dateTimeOffset);
public bool IsDaylightSavingTime (DateTimeOffset dateTimeOffset);
member this.IsDaylightSavingTime : DateTimeOffset -> bool
Public Function IsDaylightSavingTime (dateTimeOffset As DateTimeOffset) As Boolean
Parametry
- dateTimeOffset
- DateTimeOffset
Wartość daty i godziny.
Zwraca
true
dateTimeOffset
jeśli parametr jest czasem letnim, w przeciwnym razie . false
Uwagi
Wartość zwracana parametru TimeZoneInfo.IsDaylightSavingTime ma wpływ na relację między strefą czasową reprezentowaną przez TimeZoneInfo obiekt a Offset właściwością parametru dateTimeOffset
. Jeśli dateTimeOffset
nie odpowiada przesunięciom bieżącej strefy czasowej z uniwersalnego czasu koordynowanego (UTC), metoda konwertuje ten czas na godzinę w bieżącej strefie czasowej. Następnie określa, czy data i godzina to czas letni.
Jeśli strefa czasowa reprezentowana przez obiekt nie obsługuje czasu letniego TimeZoneInfo , metoda zawsze zwraca wartość false
. Aby określić, czy strefa czasowa obsługuje czas letni, pobierz wartość jej SupportsDaylightSavingTime właściwości.