Bagikan melalui


TimeZoneInfo.IsInvalidTime(DateTime) Metode

Definisi

Menunjukkan apakah tanggal dan waktu tertentu tidak valid.

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

Parameter

dateTime
DateTime

Nilai tanggal dan waktu.

Mengembalikan

true jika dateTime tidak valid; jika tidak, false.

Contoh

Di zona Waktu Pasifik, waktu musim panas dimulai pukul 02.00 WIB pada 2 April 2006. Kode berikut melewati waktu pada interval satu menit dari 1:59 A.M. pada 2 April 2006, menjadi 3:01 A.M. pada 2 April 2006, ke IsInvalidTime metode TimeZoneInfo objek yang mewakili zona Waktu Pasifik. Output konsol menunjukkan bahwa sepanjang waktu dari 2:00 A.M. pada 2 April 2006, hingga 2:59 A.M. pada 2 April 2006, tidak valid.

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

Keterangan

Waktu yang tidak valid termasuk dalam rentang waktu untuk zona waktu saat ini yang tidak dapat dipetakan ke Waktu Universal Terkoordinasi (UTC) karena penerapan aturan penyesuaian. Biasanya, waktu yang tidak valid terjadi ketika waktu bergerak maju untuk waktu musim panas. Lihat bagian Contoh untuk ilustrasi.

Nilai Kind properti dateTime parameter memengaruhi apakah dateTime mewakili waktu yang tidak valid, seperti yang ditunjukkan tabel berikut.

Properti DateTime.Kind Objek TimeZoneInfo (jika berlaku) Perilaku
DateTimeKind.Local TimeZoneInfo.Local Menentukan apakah waktu tidak valid.
DateTimeKind.Local TimeZoneInfo.Utc atau zona waktu non-lokal. dateTime Mengonversi ke waktu TimeZoneInfo objek dan mengembalikan false.
DateTimeKind.Unspecified Tidak dapat diterapkan. Asumsikan dateTime adalah waktu TimeZoneInfo objek dan menentukan apakah objek tersebut tidak valid.
DateTimeKind.Utc Tidak dapat diterapkan. Menampilkan false.

Berlaku untuk

Lihat juga