Sdílet prostřednictvím


TimeZoneInfo.IsAmbiguousTime Metoda

Definice

Určuje, zda je určité datum a čas v určitém časovém pásmu nejednoznačné a lze je namapovat na dva nebo více časů UTC (Coordinated Universal Time).

Přetížení

IsAmbiguousTime(DateTime)

Určuje, zda je určité datum a čas v určitém časovém pásmu nejednoznačné a lze je namapovat na dva nebo více časů UTC (Coordinated Universal Time).

IsAmbiguousTime(DateTimeOffset)

Určuje, zda je určité datum a čas v určitém časovém pásmu nejednoznačné a lze je namapovat na dva nebo více časů UTC (Coordinated Universal Time).

IsAmbiguousTime(DateTime)

Zdroj:
TimeZoneInfo.cs
Zdroj:
TimeZoneInfo.cs
Zdroj:
TimeZoneInfo.cs

Určuje, zda je určité datum a čas v určitém časovém pásmu nejednoznačné a lze je namapovat na dva nebo více časů UTC (Coordinated Universal Time).

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

Parametry

dateTime
DateTime

Hodnota data a času

Návraty

true dateTime pokud je parametr nejednoznačný, v opačném případě false.

Výjimky

Vlastnost KinddateTime hodnoty je Local a dateTime je neplatný čas.

Příklady

V tichomořském časovém pásmu končí letní čas 4. listopadu 2007 ve 2:00. Následující příklad předává čas v minutových intervalech od 12:59 4. listopadu 2007 do 2:01 do 4. listopadu 2007 na IsAmbiguousTime(DateTime) metodu TimeZoneInfo objektu, který představuje tichomořské časové pásmo. Výstup konzoly udává, že všechny časy od 4. listopadu 2007 od 1:00 do 1:59 do 4. listopadu 2007 jsou nejednoznačné.

   // Specify DateTimeKind in Date constructor
   DateTime baseTime = new DateTime(2007, 11, 4, 0, 59, 00, DateTimeKind.Unspecified);
   DateTime newTime;

   // Get Pacific Standard Time zone
   TimeZoneInfo pstZone = TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time");

   // List possible ambiguous times for 63-minute interval, from 12:59 AM to 2:01 AM 
   for (int ctr = 0; ctr < 63; ctr++)
   {
      // Because of assignment, newTime.Kind is also DateTimeKind.Unspecified
      newTime = baseTime.AddMinutes(ctr);   
      Console.WriteLine("{0} is ambiguous: {1}", newTime, pstZone.IsAmbiguousTime(newTime));
   }
// Specify DateTimeKind in Date constructor
let baseTime = DateTime(2007, 11, 4, 0, 59, 00, DateTimeKind.Unspecified)

// Get Pacific Standard Time zone
let pstZone = TimeZoneInfo.FindSystemTimeZoneById "Pacific Standard Time"

// List possible ambiguous times for 63-minute interval, from 12:59 AM to 2:01 AM 
for i = 0 to 62 do
// Because of assignment, newTime.Kind is also DateTimeKind.Unspecified
    let newTime = baseTime.AddMinutes i   
    printfn $"{newTime} is ambiguous: {pstZone.IsAmbiguousTime newTime}"
' Specify DateTimeKind in Date constructor
Dim baseTime As New Date(2007, 11, 4, 0, 59, 00, DateTimeKind.Unspecified)
Dim newTime As Date

' Get Pacific Standard Time zone
Dim pstZone As TimeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time")

' List possible ambiguous times for 63-minute interval, from 12:59 AM to 2:01 AM 
For ctr As Integer = 0 To 62
   ' Because of assignment, newTime.Kind is also DateTimeKind.Unspecified
   newTime = baseTime.AddMinutes(ctr)   
   Console.WriteLine("{0} is ambiguous: {1}", newTime, pstZone.IsAmbiguousTime(newTime))
Next

Poznámky

Nejednoznačný čas spadá do rozsahu časů aktuálního časového pásma. To znamená, že to může být buď standardní čas, nebo čas, který je výsledkem použití pravidla úpravy. Nejednoznačné časy jsou obvykle výsledkem, když jsou hodiny nastavené tak, aby se z letního času vrátily na standardní čas. Obrázek najdete v části Příklad.

Koordinovaný světový čas (UTC) nemá nejednoznačné časy; ani časová pásma, která letní čas nepodporují. Proto tato časová pásma nemají žádná pravidla úprav a volání IsAmbiguousTime metody vždy vrátí false.

U časových pásem, která pozorují letní čas, závisí přesné chování této metody na relaci mezi Kind vlastností a objektem TimeZoneInfo , jak ukazuje následující tabulka.

Typ objektu TimeZoneInfo Hodnota vlastnosti Druh Chování
TimeZoneInfo.Local DateTimeKind.Local nebo DateTimeKind.Unspecified Určuje, zda dateTime je parametr nejednoznačný.
TimeZoneInfo.Local DateTimeKind.Utc Převede dateTime na místní čas a pak určí, zda je tento čas nejednoznačný.
TimeZoneInfo.Utc DateTimeKind.Utc nebo DateTimeKind.Unspecified Vrací objekt false.
TimeZoneInfo.Utc DateTimeKind.Local Pokud dateTime je nejednoznačný, předpokládá, že se jedná o standardní čas, převede ho na UTC a vrátí false.
Jakékoli jiné časové pásmo. DateTimeKind.Local nebo DateTimeKind.Utc dateTime Převede na čas v zadaném časovém pásmu a pak určí, zda je tento čas nejednoznačný.
Jakékoli jiné časové pásmo. DateTimeKind.Unspecified Určuje, jestli dateTime je nejednoznačný.

Viz také

Platí pro

IsAmbiguousTime(DateTimeOffset)

Zdroj:
TimeZoneInfo.cs
Zdroj:
TimeZoneInfo.cs
Zdroj:
TimeZoneInfo.cs

Určuje, zda je určité datum a čas v určitém časovém pásmu nejednoznačné a lze je namapovat na dva nebo více časů UTC (Coordinated Universal Time).

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

Parametry

dateTimeOffset
DateTimeOffset

Datum a čas

Návraty

true dateTimeOffset pokud je parametr v aktuálním časovém pásmu nejednoznačný, v opačném případě false.

Poznámky

Nejednoznačný čas spadá do rozsahu časů aktuálního časového pásma. To znamená, že to může být buď standardní čas, nebo čas, který je výsledkem použití pravidla úpravy. Nejednoznačné časy jsou obvykle výsledkem, když jsou hodiny nastavené tak, aby se z letního času vrátily na standardní čas. Koordinovaný světový čas (UTC) nemá nejednoznačné časy; ani časová pásma, která letní čas nepodporují.

Přesné chování metody závisí na vztahu mezi Offset vlastností parametru dateTimeOffset a aktuálním časovým pásmem. Pokud je hodnota Offset vlastnosti možným posunem od UTC aktuálního časového pásma, metoda určuje, zda je toto datum a čas nejednoznačné. V opačném případě se převede dateTimeOffset na čas v aktuálním časovém pásmu a pak určí, zda je toto datum a čas nejednoznačné.

Platí pro