TimeZoneInfo.IsDaylightSavingTime Methode

Definition

Gibt an, ob ein angegebenes Datum und eine Zeit in den Bereich der Sommerzeit für die Zeitzone des aktuellen TimeZoneInfo-Objekts fallen.

Überlädt

IsDaylightSavingTime(DateTime)

Gibt an, ob ein angegebenes Datum und eine Zeit in den Bereich der Sommerzeit für die Zeitzone des aktuellen TimeZoneInfo-Objekts fallen.

IsDaylightSavingTime(DateTimeOffset)

Gibt an, ob ein angegebenes Datum und eine Zeit in den Bereich der Sommerzeit für die Zeitzone des aktuellen TimeZoneInfo-Objekts fallen.

IsDaylightSavingTime(DateTime)

Quelle:
TimeZoneInfo.cs
Quelle:
TimeZoneInfo.cs
Quelle:
TimeZoneInfo.cs

Gibt an, ob ein angegebenes Datum und eine Zeit in den Bereich der Sommerzeit für die Zeitzone des aktuellen TimeZoneInfo-Objekts fallen.

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

Parameter

dateTime
DateTime

Ein Datums- und Uhrzeitwert.

Gibt zurück

true, wenn der dateTime-Parameter eine Sommerzeit darstellt, andernfalls false.

Ausnahmen

Die Kind-Eigenschaft des dateTime-Werts ist Local und dateTime ist eine ungültige Zeit.

Beispiele

Im folgenden Beispiel wird eine Methode mit dem Namen DisplayDateWithTimeZoneName definiert, die die TimeZoneInfo.IsDaylightSavingTime Methode verwendet, um zu bestimmen, ob der Standardzeitname einer Zeitzone oder der Name der Sommerzeit angezeigt werden soll.

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

Hinweise

Der Rückgabewert von TimeZoneInfo.IsDaylightSavingTime wird durch die Beziehung zwischen der Zeitzone, die durch das TimeZoneInfo -Objekt dargestellt wird, und der Kind -Eigenschaft des dateTime Parameters beeinflusst, wie in der folgenden Tabelle dargestellt.

TimeZoneInfo-Objekt DateTime.Kind-Eigenschaft Ergebnis
TimeZoneInfo.Local DateTimeKind.Local Bestimmt, ob dateTime Sommerzeit ist.
TimeZoneInfo.Local DateTimeKind.Utc dateTime Konvertiert von koordinierter Weltzeit (UTC) in Ortszeit und bestimmt, ob es sich um Sommerzeit handelt.
TimeZoneInfo.Local DateTimeKind.Unspecified Geht davon aus, dass die dateTime Ortszeit darstellt und bestimmt, ob es sich um Sommerzeit handelt.
TimeZoneInfo.Utc DateTimeKind.Local, DateTimeKind.Unspecifiedoder DateTimeKind.Utc Gibt zurück false (UTC unterstützt keine Sommerzeit).
Jedes andere TimeZoneInfo Objekt. DateTimeKind.Local Konvertiert die Ortszeit in die entsprechende Zeit des TimeZoneInfo Objekts und bestimmt dann, ob es sich bei letzterem um die Sommerzeit handelt.
Jedes andere TimeZoneInfo Objekt. DateTimeKind.Utc Konvertiert UTC in die entsprechende Zeit des TimeZoneInfo Objekts und bestimmt dann, ob es sich bei letzterem um Sommerzeit handelt.
Jedes andere TimeZoneInfo Objekt. DateTimeKind.Unspecified Bestimmt, ob dateTime Sommerzeit ist.

Wenn die vom Objekt dargestellte TimeZoneInfo Zeitzone keine Sommerzeit unterstützt, gibt die -Methode immer zurück false. Eine Reihe von Zeitzonen, einschließlich Utc, beobachten keine Sommerzeit. Um zu bestimmen, ob eine Zeitzone Sommerzeit unterstützt, rufen Sie den Wert ihrer SupportsDaylightSavingTime Eigenschaft ab.

Wenn der dateTime Parameter eine mehrdeutige Zeit in der Zeitzone des aktuellen Objekts angibt, interpretiert dateTime die TimeZoneInfo.IsDaylightSavingTime Methode als Standardzeit und gibt zurückfalse, wenn ihre Kind Eigenschaft oder DateTimeKind.UnspecifiedistDateTimeKind.Local. Wenn die Kind -Eigenschaft lautet DateTimeKind.Utc, wählt diese Methode die richtige mehrdeutige Zeit aus und gibt an, ob es sich um eine Sommerzeit handelt.

Da die TimeZoneInfo.IsDaylightSavingTime(DateTime) Methode für ein Datum und eine Uhrzeit zurückgeben false kann, die nicht eindeutig sind (d. h. ein Datum und eine Uhrzeit, die entweder eine Standardzeit oder eine Sommerzeit in einer bestimmten Zeitzone darstellen können), kann die TimeZoneInfo.IsAmbiguousTime(DateTime) -Methode mit der IsDaylightSavingTime(DateTime) -Methode gekoppelt werden, um zu bestimmen, ob es sich bei einer Zeit um eine Sommerzeit handelt. Da es sich bei einer mehrdeutigen Zeit sowohl um eine Sommerzeit als auch um eine Standardzeit handelt, kann die IsAmbiguousTime(DateTime) Methode zuerst aufgerufen werden, um zu bestimmen, ob ein Datum und eine Uhrzeit eine Sommerzeit sein können. Wenn die Methode zurückgibt false, kann die IsDaylightSavingTime(DateTime) -Methode aufgerufen werden, um zu bestimmen, ob es sich bei dem DateTime Wert um eine Sommerzeit handelt. Im folgenden Beispiel wird diese Technik veranschaulicht.

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).

Wenn der dateTime -Parameter eine ungültige Zeit angibt, löst der Methodenaufruf ein aus ArgumentException , wenn der Wert der -Eigenschaft des dateTimeKind Parameters ist DateTimeKind.Local. Andernfalls gibt die -Methode zurück false.

Rufen Sie die TimeZoneInfo.IsDaylightSavingTime -Methode auf, um zu bestimmen, ob beim Anzeigen des Zeitzonennamens StandardName der Wert einer Zeitzone oder dessen DaylightName Wert verwendet werden soll. Eine Abbildung finden Sie im Abschnitt Beispiel.

Weitere Informationen

Gilt für:

IsDaylightSavingTime(DateTimeOffset)

Quelle:
TimeZoneInfo.cs
Quelle:
TimeZoneInfo.cs
Quelle:
TimeZoneInfo.cs

Gibt an, ob ein angegebenes Datum und eine Zeit in den Bereich der Sommerzeit für die Zeitzone des aktuellen TimeZoneInfo-Objekts fallen.

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

Parameter

dateTimeOffset
DateTimeOffset

Ein Datums- und Uhrzeitwert.

Gibt zurück

true, wenn der dateTimeOffset-Parameter eine Sommerzeit darstellt, andernfalls false.

Hinweise

Der Rückgabewert von TimeZoneInfo.IsDaylightSavingTime wird durch die Beziehung zwischen der Zeitzone, die durch das TimeZoneInfo -Objekt dargestellt wird, und der Offset -Eigenschaft des dateTimeOffset Parameters beeinflusst. Wenn dateTimeOffset nicht dem Offset der aktuellen Zeitzone von koordinierter Weltzeit (UTC) entspricht, konvertiert die Methode diese Zeit in die Zeit in der aktuellen Zeitzone. Anschließend wird bestimmt, ob es sich bei diesem Datum und der Uhrzeit um eine Sommerzeit handelt.

Wenn die vom Objekt dargestellte TimeZoneInfo Zeitzone keine Sommerzeit unterstützt, gibt die -Methode immer zurück false. Um zu bestimmen, ob eine Zeitzone Sommerzeit unterstützt, rufen Sie den Wert ihrer SupportsDaylightSavingTime Eigenschaft ab.

Weitere Informationen

Gilt für: