TimeZoneInfo.IsInvalidTime(DateTime) Metoda

Definicja

Wskazuje, czy określona data i godzina są nieprawidłowe.

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

Wartość daty i godziny.

Zwraca

Boolean

true jeśli dateTime jest nieprawidłowy; w przeciwnym razie false.

Przykłady

W strefie czasowej Pacyfiku czas letni zaczyna się o godzinie 2:00 2 kwietnia 2006 r. Poniższy kod przechodzi czas w odstępach jednej minuty od godziny 1:59. 2 kwietnia 2006 r. do 3:01 2 kwietnia 2006 r. do IsInvalidTime metody obiektu reprezentującego TimeZoneInfo strefę czasową Pacyfik. Dane wyjściowe konsoli wskazują, że cały czas od godziny 2:00 2 kwietnia 2006 r. do 2:59 2 kwietnia 2006 r. są nieprawidłowe.

// 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

Uwagi

Nieprawidłowy czas mieści się w przedziale czasu dla bieżącej strefy czasowej, której nie można zamapować na uniwersalny czas koordynowany (UTC) ze względu na zastosowanie reguły korekty. Zazwyczaj występują nieprawidłowe czasy, gdy czas przesuwa się do przodu na czas letni. Zobacz sekcję Przykład, aby zapoznać się z ilustracją.

Wartość Kind właściwości parametru dateTime wpływa na to, czy dateTime reprezentuje nieprawidłowy czas, jak pokazano w poniższej tabeli.

Właściwość DateTime.Kind Obiekt TimeZoneInfo (jeśli dotyczy) Zachowanie
DateTimeKind.Local TimeZoneInfo.Local Określa, czy czas jest nieprawidłowy.
DateTimeKind.Local TimeZoneInfo.Utc lub nielokacyjną strefę czasową. Konwertuje dateTime na czas TimeZoneInfo obiektu i zwraca wartość false.
DateTimeKind.Unspecified Nie dotyczy. Zakłada się dateTime , że jest to czas TimeZoneInfo obiektu i określa, czy jest on nieprawidłowy.
DateTimeKind.Utc Nie dotyczy. Zwraca wartość false.

Dotyczy

Zobacz też