TimeZoneInfo.IsInvalidTime(DateTime) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
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 . |