Aracılığıyla paylaş


TimeZoneInfo.IsInvalidTime(DateTime) Yöntem

Tanım

Belirli bir tarih ve saatin geçersiz olup olmadığını gösterir.

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

Parametreler

dateTime
DateTime

Tarih ve saat değeri.

Döndürülenler

Boolean

true geçersizse dateTime ; değilse, false.

Örnekler

Pasifik Saat diliminde yaz saati 02:00'de başlar. 2 Nisan 2006 tarihinde. Aşağıdaki kod saati 01:59'dan itibaren bir dakikalık aralıklarla geçirir. 2 Nisan 2006'da, 03:01'e kadar 2 Nisan 2006'da Pasifik IsInvalidTime Saat dilimini temsil eden bir TimeZoneInfo nesnenin yöntemine. Konsol çıkışı, her zaman 02:00'dan itibaren olduğunu gösterir. 2 Nisan 2006'da, 02:59'a kadar 2 Nisan 2006 tarihinde geçersiz.

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

Açıklamalar

Geçersiz bir saat, geçerli saat dilimi için bir ayarlama kuralının uygulanması nedeniyle Eşgüdümlü Evrensel Saat (UTC) ile eşlenemeyen bir zaman aralığı içinde yer alır. Genellikle, gün ışığından yararlanma saati için saat ileriye doğru ilerlerken geçersiz saatler oluşur. Çizim için Örnek bölümüne bakın.

parametresinin Kind özelliğinin dateTime değeri, aşağıdaki tabloda gösterildiği gibi geçersiz bir saati temsil edip etmediğini dateTime etkiler.

DateTime.Kind özelliği TimeZoneInfo nesnesi (varsa) Davranış
DateTimeKind.Local TimeZoneInfo.Local Saatin geçersiz olup olmadığını belirler.
DateTimeKind.Local TimeZoneInfo.Utc veya yerel olmayan bir saat dilimini seçin. dateTime nesnesinin zamanına TimeZoneInfo dönüştürür ve döndürürfalse.
DateTimeKind.Unspecified Geçerli değildir. dateTime Nesnenin TimeZoneInfo zamanı olduğunu varsayar ve geçersiz olup olmadığını belirler.
DateTimeKind.Utc Geçerli değildir. false döndürür.

Şunlara uygulanır

Ayrıca bkz.