TimeZoneInfo.IsInvalidTime(DateTime) Metoda

Definice

Určuje, jestli je konkrétní datum a čas neplatné.

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

Parametry

dateTime
DateTime

Hodnota data a času

Návraty

Boolean

true je-li dateTime neplatná; falsev opačném případě .

Příklady

V tichomořském časovém pásmu začíná letní čas v 2:00. 2. dubna 2006. Následující kód předá čas v minutových intervalech od 1:59 do 1:59. 2. dubna 2006 do 3:01. 2. dubna 2006 k IsInvalidTime metodě objektu TimeZoneInfo , který představuje tichomořské časové pásmo. Výstup konzoly označuje, že všechny časy od 2:00 do M. 2. dubna 2006 do 2:59. dne 2. dubna 2006 jsou neplatné.

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

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

// List possible invalid times for a 63-minute interval, from 1:59 AM to 3: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 invalid: {1}", newTime, pstZone.IsInvalidTime(newTime));
}
// Specify DateTimeKind in Date constructor
let baseTime = DateTime(2007, 3, 11, 1, 59, 0, DateTimeKind.Unspecified)

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

// List possible invalid times for a 63-minute interval, from 1:59 AM to 3: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 invalid: {pstZone.IsInvalidTime newTime}"
' Specify DateTimeKind in Date constructor
Dim baseTime As New Date(2007, 3, 11, 1, 59, 0, DateTimeKind.Unspecified)
Dim newTime As Date

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

' List possible invalid times for 63-minute interval, from 1:59 AM to 3: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 invalid: {1}", newTime, pstZone.IsInvalidTime(newTime))
Next

Poznámky

Neplatný čas spadá do časového rozsahu aktuálního časového pásma, které nelze mapovat na koordinovaný univerzální čas (UTC) kvůli použití pravidla úpravy. K neplatným časů obvykle dochází, když se čas posune dopředu pro letní čas. Obrázek najdete v části Příklad.

Hodnota Kind vlastnosti dateTime parametru ovlivňuje, zda dateTime představuje neplatný čas, jak ukazuje následující tabulka.

DateTime.Kind – vlastnost TimeZoneInfo – objekt (pokud je k dispozici) Chování
DateTimeKind.Local TimeZoneInfo.Local Určuje, jestli je čas neplatný.
DateTimeKind.Local TimeZoneInfo.Utc nebo jiné než místní časové pásmo. dateTime Převede na čas objektu TimeZoneInfo a vrátí false.
DateTimeKind.Unspecified Neužívá se. dateTime Předpokládá, že je čas objektu TimeZoneInfo a určuje, jestli je neplatný.
DateTimeKind.Utc Neužívá se. Vrací objekt false.

Platí pro

Viz také