DateTimeOffset.LocalDateTime Properti
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.
DateTime Mendapatkan nilai yang mewakili tanggal dan waktu lokal objek saat iniDateTimeOffset.
public:
property DateTime LocalDateTime { DateTime get(); };
public DateTime LocalDateTime { get; }
member this.LocalDateTime : DateTime
Public ReadOnly Property LocalDateTime As DateTime
Nilai Properti
Tanggal dan waktu lokal objek saat ini DateTimeOffset .
Contoh
Contoh berikut mengilustrasikan beberapa konversi nilai ke waktu lokal di zona Waktu Standar Pasifik DateTimeOffset A.S. Perhatikan bahwa tiga kali terakhir semuanya ambigu; properti memetakan semuanya ke satu tanggal dan waktu di zona Waktu Standar Pasifik.
DateTimeOffset dto;
// Current time
dto = DateTimeOffset.Now;
Console.WriteLine(dto.LocalDateTime);
// UTC time
dto = DateTimeOffset.UtcNow;
Console.WriteLine(dto.LocalDateTime);
// Transition to DST in local time zone occurs on 3/11/2007 at 2:00 AM
dto = new DateTimeOffset(2007, 3, 11, 3, 30, 0, new TimeSpan(-7, 0, 0));
Console.WriteLine(dto.LocalDateTime);
dto = new DateTimeOffset(2007, 3, 11, 2, 30, 0, new TimeSpan(-7, 0, 0));
Console.WriteLine(dto.LocalDateTime);
// Invalid time in local time zone
dto = new DateTimeOffset(2007, 3, 11, 2, 30, 0, new TimeSpan(-8, 0, 0));
Console.WriteLine(TimeZoneInfo.Local.IsInvalidTime(dto.DateTime));
Console.WriteLine(dto.LocalDateTime);
// Transition from DST in local time zone occurs on 11/4/07 at 2:00 AM
// This is an ambiguous time
dto = new DateTimeOffset(2007, 11, 4, 1, 30, 0, new TimeSpan(-7, 0, 0));
Console.WriteLine(TimeZoneInfo.Local.IsAmbiguousTime(dto));
Console.WriteLine(dto.LocalDateTime);
dto = new DateTimeOffset(2007, 11, 4, 2, 30, 0, new TimeSpan(-7, 0, 0));
Console.WriteLine(TimeZoneInfo.Local.IsAmbiguousTime(dto));
Console.WriteLine(dto.LocalDateTime);
// This is also an ambiguous time
dto = new DateTimeOffset(2007, 11, 4, 1, 30, 0, new TimeSpan(-8, 0, 0));
Console.WriteLine(TimeZoneInfo.Local.IsAmbiguousTime(dto));
Console.WriteLine(dto.LocalDateTime);
// If run on 3/8/2007 at 4:56 PM, the code produces the following
// output:
// 3/8/2007 4:56:03 PM
// 3/8/2007 4:56:03 PM
// 3/11/2007 3:30:00 AM
// 3/11/2007 1:30:00 AM
// True
// 3/11/2007 3:30:00 AM
// True
// 11/4/2007 1:30:00 AM
// 11/4/2007 1:30:00 AM
// True
// 11/4/2007 1:30:00 AM
// Current time
let dto = DateTimeOffset.Now
printfn $"{dto.LocalDateTime}"
// UTC time
let dto = DateTimeOffset.UtcNow
printfn $"{dto.LocalDateTime}"
// Transition to DST in local time zone occurs on 3/11/2007 at 2:00 AM
let dto = DateTimeOffset(2007, 3, 11, 3, 30, 0, TimeSpan(-7, 0, 0))
printfn $"{dto.LocalDateTime}"
let dto = DateTimeOffset(2007, 3, 11, 2, 30, 0, TimeSpan(-7, 0, 0))
printfn $"{dto.LocalDateTime}"
// Invalid time in local time zone
let dto = DateTimeOffset(2007, 3, 11, 2, 30, 0, TimeSpan(-8, 0, 0))
printfn $"{TimeZoneInfo.Local.IsInvalidTime dto.DateTime}"
printfn $"{dto.LocalDateTime}"
// Transition from DST in local time zone occurs on 11/4/07 at 2:00 AM
// This is an ambiguous time
let dto = DateTimeOffset(2007, 11, 4, 1, 30, 0, TimeSpan(-7, 0, 0))
printfn $"{TimeZoneInfo.Local.IsAmbiguousTime dto}"
printfn $"{dto.LocalDateTime}"
let dto = DateTimeOffset(2007, 11, 4, 2, 30, 0, TimeSpan(-7, 0, 0))
printfn $"{TimeZoneInfo.Local.IsAmbiguousTime dto}"
printfn $"{dto.LocalDateTime}"
// This is also an ambiguous time
let dto = DateTimeOffset(2007, 11, 4, 1, 30, 0, TimeSpan(-8, 0, 0))
printfn $"{TimeZoneInfo.Local.IsAmbiguousTime dto}"
printfn $"{dto.LocalDateTime}"
// If run on 3/8/2007 at 4:56 PM, the code produces the following
// output:
// 3/8/2007 4:56:03 PM
// 3/8/2007 4:56:03 PM
// 3/11/2007 3:30:00 AM
// 3/11/2007 1:30:00 AM
// True
// 3/11/2007 3:30:00 AM
// True
// 11/4/2007 1:30:00 AM
// 11/4/2007 1:30:00 AM
// True
// 11/4/2007 1:30:00 AM
Dim dto As DateTimeOffset
' Current time
dto = DateTimeOffset.Now
Console.WriteLine(dto.LocalDateTime)
' UTC time
dto = DateTimeOffset.UtcNow
Console.WriteLine(dto.LocalDateTime)
' Transition to DST in local time zone occurs on 3/11/2007 at 2:00 AM
dto = New DateTimeOffset(#03/11/2007 3:30AM#, New Timespan(-7, 0, 0))
Console.WriteLine(dto.LocalDateTime)
dto = New DateTimeOffset(#03/11/2007 2:30AM#, New Timespan(-7, 0, 0))
Console.WriteLine(dto.LocalDateTime)
' Invalid time in local time zone
dto = New DateTimeOffset(#03/11/2007 2:30AM#, New Timespan(-8, 0, 0))
Console.WriteLine(TimeZoneInfo.Local.IsInvalidTime(dto.DateTime))
Console.WriteLine(dto.LocalDateTime)
' Transition from DST in local time zone occurs on 11/4/07 at 2:00 AM
' This is an ambiguous time
dto = New DateTimeOffset(#11/4/2007 1:30AM#, New TimeSpan(-7, 0, 0))
Console.WriteLine(TimeZoneInfo.Local.IsAmbiguousTime(dto))
Console.WriteLine(dto.LocalDateTime)
dto = New DateTimeOffset(#11/4/2007 2:30AM#, New TimeSpan(-7, 0, 0))
Console.WriteLine(TimeZoneInfo.Local.IsAmbiguousTime(dto))
Console.WriteLine(dto.LocalDateTime)
' This is also an ambiguous time
dto = New DateTimeOffset(#11/4/2007 1:30AM#, New TimeSpan(-8, 0, 0))
Console.WriteLine(TimeZoneInfo.Local.IsAmbiguousTime(dto))
Console.WriteLine(dto.LocalDateTime)
' If run on 3/8/2007 at 4:56 PM, the code produces the following
' output:
' 3/8/2007 4:56:03 PM
' 3/8/2007 4:56:03 PM
' 3/11/2007 3:30:00 AM
' 3/11/2007 1:30:00 AM
' True
' 3/11/2007 3:30:00 AM
' True
' 11/4/2007 1:30:00 AM
' 11/4/2007 1:30:00 AM
' True
' 11/4/2007 1:30:00 AM
Keterangan
Jika perlu, LocalDateTime properti mengonversi tanggal dan waktu objek saat ini DateTimeOffset ke tanggal dan waktu sistem lokal. Konversi adalah operasi dua langkah:
Properti mengonversi waktu objek saat ini DateTimeOffset menjadi Waktu Universal Terkoordinasi (UTC).
Properti kemudian mengonversi UTC ke waktu lokal.
Tidak ada waktu yang tidak valid dan waktu ambigu yang dipetakan ke waktu standar zona lokal. (Namun, konversi dapat membuat anomali: jika DateTimeOffset nilai yang berasal dari komputer lokal mencerminkan tanggal dan waktu yang ambigu, nilai tersebut dapat dikonversi ke UTC dan kemudian kembali ke waktu lokal yang berbeda dari waktu aslinya.) Properti menerapkan aturan penyesuaian apa pun di zona waktu lokal saat melakukan konversi ini.
Properti ini mengembalikan komponen DateTimeOffset tanggal dan waktu objek, yang membuatnya berguna untuk DateTimeOffsetDateTime konversi. Selain melakukan konversi waktu yang diperlukan, properti ini berbeda dari DateTime properti dengan mengatur nilai Kind properti objek yang dikembalikan DateTime ke DateTimeKind.Local.