TimeZoneInfo.ConvertTimeBySystemTimeZoneId 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.
Mengonversi waktu ke waktu di zona waktu lain berdasarkan pengidentifikasi zona waktu.
Overload
ConvertTimeBySystemTimeZoneId(DateTime, String) |
Mengonversi waktu ke waktu di zona waktu lain berdasarkan pengidentifikasi zona waktu. |
ConvertTimeBySystemTimeZoneId(DateTimeOffset, String) |
Mengonversi waktu ke waktu di zona waktu lain berdasarkan pengidentifikasi zona waktu. |
ConvertTimeBySystemTimeZoneId(DateTime, String, String) |
Mengonversi waktu dari satu zona waktu ke zona waktu lainnya berdasarkan pengidentifikasi zona waktu. |
ConvertTimeBySystemTimeZoneId(DateTime, String)
- Sumber:
- TimeZoneInfo.cs
- Sumber:
- TimeZoneInfo.cs
- Sumber:
- TimeZoneInfo.cs
Mengonversi waktu ke waktu di zona waktu lain berdasarkan pengidentifikasi zona waktu.
public:
static DateTime ConvertTimeBySystemTimeZoneId(DateTime dateTime, System::String ^ destinationTimeZoneId);
public static DateTime ConvertTimeBySystemTimeZoneId (DateTime dateTime, string destinationTimeZoneId);
static member ConvertTimeBySystemTimeZoneId : DateTime * string -> DateTime
Public Shared Function ConvertTimeBySystemTimeZoneId (dateTime As DateTime, destinationTimeZoneId As String) As DateTime
Parameter
- dateTime
- DateTime
Tanggal dan waktu untuk mengonversi.
- destinationTimeZoneId
- String
Pengidentifikasi zona waktu tujuan.
Mengembalikan
Tanggal dan waktu di zona waktu tujuan.
Pengecualian
destinationTimeZoneId
adalah null
.
Pengidentifikasi zona waktu ditemukan, tetapi data registri rusak.
Proses ini tidak memiliki izin yang diperlukan untuk membaca dari kunci registri yang berisi informasi zona waktu.
Pengidentifikasi destinationTimeZoneId
tidak ditemukan pada sistem lokal.
Keterangan
Saat melakukan konversi, ConvertTimeBySystemTimeZoneId metode menerapkan aturan penyesuaian apa pun yang berlaku di destinationTimeZoneId
zona waktu.
Kelebihan beban ini sebagian besar identik dengan memanggil ConvertTime(DateTime, TimeZoneInfo) metode , kecuali memungkinkan Anda menentukan zona waktu tujuan dengan pengidentifikasinya daripada dengan referensi objek. Metode ini paling berguna ketika Anda harus mengonversi waktu tanpa mengambil objek zona waktu yang sesuai dengannya dan Anda tidak perlu tahu apakah waktu yang dikonversi adalah waktu standar atau musim panas.
Metode ConvertTimeBySystemTimeZoneId(DateTime, String) menentukan zona waktu sumber dari nilai dateTime
properti parameter Kind , seperti yang ditunjukkan tabel berikut.
Jenis nilai properti | Zona waktu sumber | Perilaku metode |
---|---|---|
DateTimeKind.Local | Local | Mengonversi waktu lokal ke waktu di destinationTimeZone . |
DateTimeKind.Utc | Utc | Mengonversi Waktu Universal Terkoordinasi (UTC) ke waktu di destinationTimeZone . |
DateTimeKind.Unspecified | Diasumsikan sebagai Local. | Mengonversi waktu lokal ke waktu di destinationTimeZone . |
Kind Properti nilai yang dikembalikan DateTime diatur seperti yang diperlihatkan dalam tabel berikut ini.
Kondisi | Nilai properti Jenis yang Dikembalikan |
---|---|
destinationTimeZone adalah TimeZoneInfo.Utc.Id . |
DateTimeKind.Utc |
Nilai lainnya destinationTimeZone . |
DateTimeKind.Unspecified |
Jika nilai dateTime
parameter adalah waktu lokal yang ambigu, nilai tersebut ditafsirkan sebagai waktu standar.
dateTime
Jika parameter adalah waktu lokal yang tidak valid, metode ini melempar ArgumentException.
Jika konversi dateTime
menghasilkan nilai tanggal dan waktu yang lebih awal dari DateTime.MinValue atau lebih baru dari DateTime.MaxValue, metode ini mengembalikan DateTime.MinValue atau DateTime.MaxValue, masing-masing.
Metode ini mengambil informasi tentang zona waktu yang pengidentifikasinya ditentukan oleh destinationTimeZoneId
parameter dari registri pada sistem Windows dan dari Pustaka ICU di Linux dan macOS. Ini tidak dapat mengambil objek zona waktu yang dibuat menggunakan CreateCustomTimeZone metode . Parameter destinationTimeZoneId
harus sesuai persis dengan panjang pengidentifikasi zona waktu, tetapi tidak dalam kasus, agar kecocokan berhasil terjadi; artinya, perbandingan destinationTimeZoneId
dengan pengidentifikasi zona waktu tidak peka huruf besar/kecil.
Lihat juga
Berlaku untuk
ConvertTimeBySystemTimeZoneId(DateTimeOffset, String)
- Sumber:
- TimeZoneInfo.cs
- Sumber:
- TimeZoneInfo.cs
- Sumber:
- TimeZoneInfo.cs
Mengonversi waktu ke waktu di zona waktu lain berdasarkan pengidentifikasi zona waktu.
public:
static DateTimeOffset ConvertTimeBySystemTimeZoneId(DateTimeOffset dateTimeOffset, System::String ^ destinationTimeZoneId);
public static DateTimeOffset ConvertTimeBySystemTimeZoneId (DateTimeOffset dateTimeOffset, string destinationTimeZoneId);
static member ConvertTimeBySystemTimeZoneId : DateTimeOffset * string -> DateTimeOffset
Public Shared Function ConvertTimeBySystemTimeZoneId (dateTimeOffset As DateTimeOffset, destinationTimeZoneId As String) As DateTimeOffset
Parameter
- dateTimeOffset
- DateTimeOffset
Tanggal dan waktu untuk mengonversi.
- destinationTimeZoneId
- String
Pengidentifikasi zona waktu tujuan.
Mengembalikan
Tanggal dan waktu di zona waktu tujuan.
Pengecualian
destinationTimeZoneId
adalah null
.
Pengidentifikasi zona waktu ditemukan tetapi data registri rusak.
Proses ini tidak memiliki izin yang diperlukan untuk membaca dari kunci registri yang berisi informasi zona waktu.
Pengidentifikasi destinationTimeZoneId
tidak ditemukan pada sistem lokal.
Keterangan
Saat melakukan konversi, ConvertTimeBySystemTimeZoneId metode menerapkan aturan penyesuaian apa pun yang berlaku di destinationTimeZoneId
zona waktu.
Kelebihan beban ini identik dengan memanggil ConvertTime(DateTimeOffset, TimeZoneInfo) metode , kecuali memungkinkan Anda menentukan zona waktu tujuan dengan pengidentifikasinya daripada dengan referensi objek. Metode ini paling berguna ketika Anda harus mengonversi waktu tanpa mengambil objek zona waktu yang sesuai dengannya dan Anda tidak perlu tahu apakah waktu yang dikonversi adalah waktu standar atau musim panas.
dateTimeOffset
Karena parameter mewakili tanggal dan waktu bersama dengan offset waktu tersebut dari Waktu Universal Terkoordinasi (UTC), parameter tidak dapat mewakili waktu ambigu atau waktu yang tidak valid.
Metode ini mengambil zona waktu yang pengidentifikasinya ditentukan oleh destinationTimeZoneId
parameter dari registri pada sistem Windows dan dari Pustaka ICU di Linux dan macOS. Ini tidak dapat mengambil objek zona waktu yang dibuat menggunakan CreateCustomTimeZone metode . Parameter destinationTimeZoneId
harus sesuai persis dengan panjang pengidentifikasi zona waktu, tetapi tidak dalam kasus, agar kecocokan berhasil terjadi; artinya, perbandingan destinationTimeZoneId
dengan pengidentifikasi zona waktu tidak peka huruf besar/kecil.
Dalam mengonversi dateTimeOffset
nilai menjadi waktu di zona waktu tujuan, metode memperhitungkan aturan penyesuaian apa pun yang berlaku di zona waktu tujuan.
Jika konversi dateTimeOffset
menghasilkan nilai tanggal dan waktu yang lebih awal dari DateTimeOffset.MinValue atau lebih baru dari DateTimeOffset.MaxValue, metode ini mengembalikan DateTimeOffset.MinValue atau DateTimeOffset.MaxValue, masing-masing.
Lihat juga
Berlaku untuk
ConvertTimeBySystemTimeZoneId(DateTime, String, String)
- Sumber:
- TimeZoneInfo.cs
- Sumber:
- TimeZoneInfo.cs
- Sumber:
- TimeZoneInfo.cs
Mengonversi waktu dari satu zona waktu ke zona waktu lainnya berdasarkan pengidentifikasi zona waktu.
public:
static DateTime ConvertTimeBySystemTimeZoneId(DateTime dateTime, System::String ^ sourceTimeZoneId, System::String ^ destinationTimeZoneId);
public static DateTime ConvertTimeBySystemTimeZoneId (DateTime dateTime, string sourceTimeZoneId, string destinationTimeZoneId);
static member ConvertTimeBySystemTimeZoneId : DateTime * string * string -> DateTime
Public Shared Function ConvertTimeBySystemTimeZoneId (dateTime As DateTime, sourceTimeZoneId As String, destinationTimeZoneId As String) As DateTime
Parameter
- dateTime
- DateTime
Tanggal dan waktu untuk mengonversi.
- sourceTimeZoneId
- String
Pengidentifikasi zona waktu sumber.
- destinationTimeZoneId
- String
Pengidentifikasi zona waktu tujuan.
Mengembalikan
Tanggal dan waktu di zona waktu tujuan yang sesuai dengan dateTime
parameter di zona waktu sumber.
Pengecualian
Properti KinddateTime
parameter tidak sesuai dengan zona waktu sumber.
-atau-
dateTime
adalah waktu yang tidak valid di zona waktu sumber.
Pengidentifikasi zona waktu ditemukan, tetapi data registri rusak.
Pengguna tidak memiliki izin yang diperlukan untuk membaca dari kunci registri yang menyimpan data zona waktu.
Pengidentifikasi sourceTimeZoneId
tidak ditemukan pada sistem lokal.
-atau-
Pengidentifikasi destinationTimeZoneId
tidak ditemukan pada sistem lokal.
Contoh
Contoh berikut menggunakan TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime, String, String) metode untuk menampilkan waktu yang sesuai dengan waktu sistem lokal di delapan kota di dunia.
DateTime currentTime = DateTime.Now;
Console.WriteLine("Current Times:");
Console.WriteLine();
Console.WriteLine("Los Angeles: {0}",
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Pacific Standard Time"));
Console.WriteLine("Chicago: {0}",
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Central Standard Time"));
Console.WriteLine("New York: {0}",
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Eastern Standard Time"));
Console.WriteLine("London: {0}",
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "GMT Standard Time"));
Console.WriteLine("Moscow: {0}",
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Russian Standard Time"));
Console.WriteLine("New Delhi: {0}",
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "India Standard Time"));
Console.WriteLine("Beijing: {0}",
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "China Standard Time"));
Console.WriteLine("Tokyo: {0}",
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Tokyo Standard Time"));
let currentTime = DateTime.Now
printfn "Current Times:\n"
printfn $"""Los Angeles: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Pacific Standard Time")}"""
printfn $"""Chicago: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Central Standard Time")}"""
printfn $"""New York: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Eastern Standard Time")}"""
printfn $"""London: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "GMT Standard Time")}"""
printfn $"""Moscow: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Russian Standard Time")}"""
printfn $"""New Delhi: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "India Standard Time")}"""
printfn $"""Beijing: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "China Standard Time")}"""
printfn $"""Tokyo: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Tokyo Standard Time")}"""
Dim currentTime As Date = Date.Now
Console.WriteLine("Current Times:")
Console.WriteLine()
Console.WriteLine("Los Angeles: {0}", _
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Pacific Standard Time"))
Console.WriteLine("Chicago: {0}", _
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Central Standard Time"))
Console.WriteLine("New York: {0}", _
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Eastern Standard Time"))
Console.WriteLine("London: {0}", _
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "GMT Standard Time"))
Console.WriteLine("Moscow: {0}", _
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Russian Standard Time"))
Console.WriteLine("New Delhi: {0}", _
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "India Standard Time"))
Console.WriteLine("Beijing: {0}", _
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "China Standard Time"))
Console.WriteLine("Tokyo: {0}", _
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Tokyo Standard Time"))
Keterangan
Saat melakukan konversi, ConvertTimeBySystemTimeZoneId metode menerapkan aturan penyesuaian apa pun yang berlaku di destinationTimeZoneId
zona waktu.
Meskipun mirip TimeZoneInfo.ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo) dengan metode ini, Anda dapat menggunakan TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime, String, String) untuk menentukan zona waktu sumber dan tujuan menggunakan pengidentifikasinya alih-alih objeknya TimeZoneInfo . Metode ini paling berguna ketika Anda harus mengonversi waktu tanpa mengambil objek zona waktu yang sesuai dengannya dan Anda tidak perlu tahu apakah waktu yang dikonversi adalah waktu standar atau musim panas.
Metode ini mengambil zona waktu yang pengidentifikasinya adalah sourceTimeZoneId
parameter dan destinationTimeZoneId
dari registri pada sistem Windows dan dari Pustaka ICU di Linux dan macOS. Ini tidak dapat mengambil objek zona waktu yang dibuat menggunakan CreateCustomTimeZone metode .
Nilai Kind properti dateTime
parameter harus sesuai dengan sourceTimeZoneId
parameter , seperti yang ditunjukkan tabel berikut.
Nilai DateTime.Kind | nilai sourceTimeZone | Perilaku metode |
---|---|---|
DateTimeKind.Utc |
TimeZoneInfo.Utc.Id Sama dengan . |
dateTime Mengonversi ke waktu zona waktu tujuan. |
DateTimeKind.Utc | Tidak sama dengan TimeZoneInfo.Utc.Id . |
ArgumentExceptionMelempar . |
DateTimeKind.Local |
TimeZoneInfo.Local.Id Sama dengan . |
dateTime Mengonversi ke waktu zona waktu tujuan. |
DateTimeKind.Local | Tidak sama dengan TimeZoneInfo.Local.Id . |
ArgumentExceptionMelempar . |
DateTimeKind.Unspecified | Semua. |
dateTime Mengonversi ke waktu zona waktu tujuan. |
Karena bergantung pada panggilan ke FindSystemTimeZoneById metode , ConvertTimeBySystemTimeZoneId metode melakukan pencarian yang tidak peka huruf besar/kecil untuk menemukan zona waktu yang sesuai dengan sourceTimeZoneId
dan destinationTimeZoneId
.
Jika nilai dateTime
parameter adalah waktu ambigu di zona waktu sumber, itu ditafsirkan sebagai waktu standar.
dateTime
Jika parameter adalah waktu yang tidak valid di zona waktu sumber, metode ini akan menampilkan ArgumentException.
Kind Properti dari nilai yang dikembalikan DateTime diatur ke DateTimeKind.Unspecified kecuali zona waktu tujuan adalah Waktu Universal Terkoordinasi (UTC), dalam hal ini diatur ke DateTimeKind.Utc.