TimeZoneInfo.IsDaylightSavingTime Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Určuje, zda zadané datum a čas spadá do rozsahu letního času pro časové pásmo aktuálního TimeZoneInfo objektu.
Přetížení
| Name | Description |
|---|---|
| IsDaylightSavingTime(DateTime) |
Určuje, zda zadané datum a čas spadá do rozsahu letního času pro časové pásmo aktuálního TimeZoneInfo objektu. |
| IsDaylightSavingTime(DateTimeOffset) |
Určuje, zda zadané datum a čas spadá do rozsahu letního času pro časové pásmo aktuálního TimeZoneInfo objektu. |
IsDaylightSavingTime(DateTime)
- Zdroj:
- TimeZoneInfo.cs
- Zdroj:
- TimeZoneInfo.cs
- Zdroj:
- TimeZoneInfo.cs
- Zdroj:
- TimeZoneInfo.cs
- Zdroj:
- TimeZoneInfo.cs
Určuje, zda zadané datum a čas spadá do rozsahu letního času pro časové pásmo aktuálního TimeZoneInfo objektu.
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
Hodnota data a času.
Návraty
true
dateTime pokud je parametr letním časem; v opačném případě false.
Výjimky
Příklady
Následující příklad definuje metodu, DisplayDateWithTimeZoneName která používá metodu TimeZoneInfo.IsDaylightSavingTime k určení, zda se má zobrazit standardní název časového pásma nebo název letního času.
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
Poznámky
Návratová TimeZoneInfo.IsDaylightSavingTime hodnota je ovlivněna relací mezi časovým pásmem reprezentovaným objektem TimeZoneInfo a Kind vlastností parametru dateTime , jak ukazuje následující tabulka.
| TimeZoneInfo – objekt | DateTime.Kind – vlastnost | Výsledek |
|---|---|---|
| TimeZoneInfo.Local | DateTimeKind.Local |
Určuje, zda dateTime je letní čas. |
| TimeZoneInfo.Local | DateTimeKind.Utc |
dateTime Převede z koordinovaného univerzálního času (UTC) na místní čas a určuje, jestli se jedná o letní čas. |
| TimeZoneInfo.Local | DateTimeKind.Unspecified |
Předpokládá, že dateTime představuje místní čas a určuje, zda se jedná o letní čas. |
| TimeZoneInfo.Utc |
DateTimeKind.Local, DateTimeKind.Unspecified nebo DateTimeKind.Utc |
Vrátí false (UTC nepodporuje letní čas). |
| Jakýkoli jiný TimeZoneInfo objekt. | DateTimeKind.Local |
Převede místní čas na ekvivalentní čas objektu TimeZoneInfo a pak určuje, zda je druhý čas letního času. |
| Jakýkoli jiný TimeZoneInfo objekt. | DateTimeKind.Utc |
Převede UTC na ekvivalentní čas objektu TimeZoneInfo a pak určuje, zda je druhý čas letního času. |
| Jakýkoli jiný TimeZoneInfo objekt. | DateTimeKind.Unspecified |
Určuje, zda dateTime je letní čas. |
Pokud časové pásmo reprezentované objektem TimeZoneInfo nepodporuje letní čas, metoda vždy vrátí false. Řada časových pásem, včetně Utc, nespozorují letní čas. Chcete-li zjistit, zda časové pásmo podporuje letní čas, načtěte hodnotu jeho SupportsDaylightSavingTime vlastnosti.
dateTime Pokud parametr určuje nejednoznačný čas v časovém pásmu aktuálního objektu, TimeZoneInfo.IsDaylightSavingTime metoda interpretuje dateTime jako standardní čas a vrátífalse, pokud je DateTimeKind.Local jeho Kind vlastnost nebo DateTimeKind.Unspecified.
Kind Pokud je DateTimeKind.Utcvlastnost , tato metoda vybere správnou nejednoznačný čas a indikuje, zda se jedná o letní čas.
TimeZoneInfo.IsDaylightSavingTime(DateTime) Vzhledem k tomu, že metoda se může vrátit false pro datum a čas, který je nejednoznačný (tj. datum a čas, který může představovat standardní čas nebo letní čas v určitém časovém pásmu), TimeZoneInfo.IsAmbiguousTime(DateTime) lze metodu spárovat s IsDaylightSavingTime(DateTime) metodou a určit, zda čas může být letní čas. Vzhledem k tomu, že nejednoznačný čas je ten, který může být jak letní čas, tak standardní čas, lze metodu volat jako první, IsAmbiguousTime(DateTime) aby bylo možné určit, zda datum a čas mohou být letním časem. Pokud metoda vrátí false, lze volat metodu IsDaylightSavingTime(DateTime) k určení, zda DateTime je hodnota letní čas. Následující příklad ukazuje tuto techniku.
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 Pokud parametr určuje neplatný čas, volání metody vyvoláArgumentException, pokud hodnota vlastnosti dateTime parametru Kind je DateTimeKind.Local; jinak metoda vrátí false.
TimeZoneInfo.IsDaylightSavingTime Voláním metody určete, jestli se má při zobrazení názvu časového pásma použít hodnota časového pásma StandardName nebo její DaylightName hodnota. Obrázek najdete v části Příklad.
Viz také
Platí pro
IsDaylightSavingTime(DateTimeOffset)
- Zdroj:
- TimeZoneInfo.cs
- Zdroj:
- TimeZoneInfo.cs
- Zdroj:
- TimeZoneInfo.cs
- Zdroj:
- TimeZoneInfo.cs
- Zdroj:
- TimeZoneInfo.cs
Určuje, zda zadané datum a čas spadá do rozsahu letního času pro časové pásmo aktuálního TimeZoneInfo objektu.
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
Hodnota data a času.
Návraty
true
dateTimeOffset pokud je parametr letním časem; v opačném případě false.
Poznámky
Návratová TimeZoneInfo.IsDaylightSavingTime hodnota je ovlivněna vztahem mezi časovým pásmem reprezentovaným objektem TimeZoneInfo a Offset vlastností parametru dateTimeOffset . Pokud dateTimeOffset neodpovídá posunu aktuálního časového pásma od koordinovaného univerzálního času (UTC), metoda převede tento čas na čas v aktuálním časovém pásmu. Potom určí, zda je toto datum a čas letní čas.
Pokud časové pásmo reprezentované objektem TimeZoneInfo nepodporuje letní čas, metoda vždy vrátí false. Chcete-li zjistit, zda časové pásmo podporuje letní čas, načtěte hodnotu jeho SupportsDaylightSavingTime vlastnosti.