TimeZoneInfo.IsDaylightSavingTime Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Anger om ett angivet datum och en angiven tid infaller inom intervallet för sommartid för det aktuella TimeZoneInfo objektets tidszon.
Överlagringar
| Name | Description |
|---|---|
| IsDaylightSavingTime(DateTime) |
Anger om ett angivet datum och en angiven tid infaller inom intervallet för sommartid för tidszonen för det aktuella TimeZoneInfo objektet. |
| IsDaylightSavingTime(DateTimeOffset) |
Anger om ett angivet datum och en angiven tid infaller inom intervallet för sommartid för tidszonen för det aktuella TimeZoneInfo objektet. |
IsDaylightSavingTime(DateTime)
- Källa:
- TimeZoneInfo.cs
- Källa:
- TimeZoneInfo.cs
- Källa:
- TimeZoneInfo.cs
- Källa:
- TimeZoneInfo.cs
- Källa:
- TimeZoneInfo.cs
Anger om ett angivet datum och en angiven tid infaller inom intervallet för sommartid för tidszonen för det aktuella TimeZoneInfo objektet.
public:
bool IsDaylightSavingTime(DateTime dateTime);
public bool IsDaylightSavingTime(DateTime dateTime);
member this.IsDaylightSavingTime : DateTime -> bool
Public Function IsDaylightSavingTime (dateTime As DateTime) As Boolean
Parametrar
- dateTime
- DateTime
Ett datum- och tidsvärde.
Returer
trueom parametern dateTime är en sommartid, annars . false
Undantag
Exempel
I följande exempel definieras en metod med namnet DisplayDateWithTimeZoneName som använder TimeZoneInfo.IsDaylightSavingTime metoden för att avgöra om en tidszons standardtidsnamn eller sommartid ska visas.
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
Kommentarer
Returvärdet TimeZoneInfo.IsDaylightSavingTime för påverkas av relationen mellan tidszonen som representeras av TimeZoneInfo objektet och Kind egenskapen för parametern dateTime , som följande tabell visar.
| TimeZoneInfo-objekt | Egenskapen DateTime.Kind | Result |
|---|---|---|
| TimeZoneInfo.Local | DateTimeKind.Local |
Avgör om dateTime det är sommartid. |
| TimeZoneInfo.Local | DateTimeKind.Utc |
Konverterar dateTime från COORDINATED Universal Time (UTC) till lokal tid och avgör om det är sommartid. |
| TimeZoneInfo.Local | DateTimeKind.Unspecified |
Förutsätter att representerar dateTime lokal tid och avgör om det är sommartid. |
| TimeZoneInfo.Utc |
DateTimeKind.Local, DateTimeKind.Unspecified eller DateTimeKind.Utc |
Returnerar false (UTC stöder inte sommartid). |
| Alla andra TimeZoneInfo objekt. | DateTimeKind.Local |
Konverterar den lokala tiden till motsvarande tid TimeZoneInfo för objektet och avgör sedan om det senare är sommartid. |
| Alla andra TimeZoneInfo objekt. | DateTimeKind.Utc |
Konverterar UTC till motsvarande tid TimeZoneInfo för objektet och avgör sedan om det senare är sommartid. |
| Alla andra TimeZoneInfo objekt. | DateTimeKind.Unspecified |
Avgör om dateTime det är sommartid. |
Om tidszonen som representeras av TimeZoneInfo objektet inte stöder sommartid returnerar falsemetoden alltid . Ett antal tidszoner, inklusive Utc, observerar inte sommartid. Om du vill ta reda på om en tidszon stöder sommartid hämtar du värdet för dess SupportsDaylightSavingTime egenskap.
Om parametern dateTime anger en tvetydig tid i det aktuella objektets tidszon TimeZoneInfo.IsDaylightSavingTime tolkas dateTime metoden som standardtid och returnerar false om dess Kind egenskap är DateTimeKind.Local eller DateTimeKind.Unspecified. Om egenskapen Kind är DateTimeKind.Utcväljer den här metoden rätt tvetydig tid och anger om det är en sommartid.
TimeZoneInfo.IsDaylightSavingTime(DateTime) Eftersom metoden kan returneras false för ett datum och en tid som är tvetydig (dvs. ett datum och en tid som kan representera antingen en standardtid eller en sommartid i en viss tidszon), TimeZoneInfo.IsAmbiguousTime(DateTime) kan metoden paras ihop med IsDaylightSavingTime(DateTime) metoden för att avgöra om en tid kan vara en sommartid. Eftersom en tvetydig tid kan vara både sommartid och standardtid kan IsAmbiguousTime(DateTime) metoden anropas först för att avgöra om ett datum och en tid kan vara en sommartid. Om metoden returnerar falseIsDaylightSavingTime(DateTime) kan metoden anropas för att avgöra om DateTime värdet är en sommartid. I följande exempel visas den här tekniken.
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).
Om parametern dateTime anger en ogiltig tid genererar metodanropet ett ArgumentException om värdet för dateTime parameterns Kind egenskap är DateTimeKind.Local. Annars returnerar falsemetoden .
TimeZoneInfo.IsDaylightSavingTime Anropa metoden för att avgöra om du vill använda en tidszons StandardName värde eller dess DaylightName värde när du visar tidszonsnamnet. Se avsnittet Exempel för en bild.
Se även
Gäller för
IsDaylightSavingTime(DateTimeOffset)
- Källa:
- TimeZoneInfo.cs
- Källa:
- TimeZoneInfo.cs
- Källa:
- TimeZoneInfo.cs
- Källa:
- TimeZoneInfo.cs
- Källa:
- TimeZoneInfo.cs
Anger om ett angivet datum och en angiven tid infaller inom intervallet för sommartid för tidszonen för det aktuella TimeZoneInfo objektet.
public:
bool IsDaylightSavingTime(DateTimeOffset dateTimeOffset);
public bool IsDaylightSavingTime(DateTimeOffset dateTimeOffset);
member this.IsDaylightSavingTime : DateTimeOffset -> bool
Public Function IsDaylightSavingTime (dateTimeOffset As DateTimeOffset) As Boolean
Parametrar
- dateTimeOffset
- DateTimeOffset
Ett datum- och tidsvärde.
Returer
trueom parametern dateTimeOffset är en sommartid, annars . false
Kommentarer
Returvärdet TimeZoneInfo.IsDaylightSavingTime för påverkas av relationen mellan tidszonen som representeras av TimeZoneInfo objektet och Offset parameterns dateTimeOffset egenskap. Om dateTimeOffset inte motsvarar den aktuella tidszonens förskjutning från COORDINATED Universal Time (UTC) konverterar metoden den tiden till tiden i den aktuella tidszonen. Därefter avgörs om datum och tid är en sommartid.
Om tidszonen som representeras av TimeZoneInfo objektet inte stöder sommartid returnerar falsemetoden alltid . Om du vill ta reda på om en tidszon stöder sommartid hämtar du värdet för dess SupportsDaylightSavingTime egenskap.