TimeZoneInfo.IsInvalidTime(DateTime) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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. |