Share via


Panduan: Membuat zona waktu tanpa aturan penyesuaian

Informasi zona waktu yang tepat yang diperlukan oleh aplikasi bisa tidak ada pada sistem tertentu karena beberapa alasan:

  • Zona waktu belum pernah didefinisikan dalam registri sistem lokal.

  • Data tentang zona waktu telah dimodifikasi atau dihapus dari registri.

  • Zona waktu ada tetapi tidak memiliki informasi yang akurat tentang penyesuaian zona waktu untuk periode bersejarah tertentu.

Dalam kasus ini, Anda dapat memanggil CreateCustomTimeZone metode untuk menentukan zona waktu yang diperlukan oleh aplikasi Anda. Anda dapat menggunakan overload metode ini untuk membuat zona waktu dengan atau tanpa aturan penyesuaian. Jika zona waktu mendukung waktu musim panas, Anda dapat menentukan penyesuaian dengan aturan penyesuaian tetap atau mengambang. (Untuk definisi istilah-istilah ini, lihat bagian "Terminologi Zona Waktu" di Gambaran umum zona waktu.)

Penting

Zona waktu kustom yang dibuat dengan memanggil CreateCustomTimeZone metode tidak ditambahkan ke registri. Sebaliknya, mereka hanya dapat diakses melalui referensi objek yang dikembalikan oleh CreateCustomTimeZone panggilan metode.

Topik ini menunjukkan cara membuat zona waktu tanpa aturan penyesuaian. Untuk membuat zona waktu yang mendukung aturan penyesuaian waktu musim panas, lihat Cara: Membuat zona waktu dengan aturan penyesuaian.

Untuk membuat zona waktu tanpa aturan penyesuaian

  1. Menentukan nama tampilan zona waktu.

    Nama tampilan mengikuti format yang cukup standar di mana offset zona waktu dari Waktu Universal Terkoordinasi diapit tanda kurung dan diikuti oleh string yang mengidentifikasi zona waktu, satu atau beberapa kota di zona waktu, atau satu atau beberapa negara atau wilayah di zona waktu.

  2. Menentukan nama waktu standar zona waktu. Biasanya, string ini juga digunakan sebagai pengidentifikasi zona waktu.

  3. Jika Anda ingin menggunakan pengidentifikasi yang berbeda dari nama standar zona waktu, tentukan pengidentifikasi zona waktu.

  4. Membuat instans TimeSpan objek yang menentukan offset zona waktu dari UTC. Zona waktu dengan waktu yang lebih lambat dari UTC memiliki offset positif. Zona waktu dengan waktu yang lebih lama dari UTC memiliki offset negatif.

  5. Panggil TimeZoneInfo.CreateCustomTimeZone(String, TimeSpan, String, String) metode untuk membuat instans zona waktu baru.

Contoh

Contoh berikut mendefinisikan zona waktu kustom untuk Mawson, Antartika, yang tidak memiliki aturan penyesuaian.

string displayName = "(GMT+06:00) Antarctica/Mawson Time";
string standardName = "Mawson Time";
TimeSpan offset = new TimeSpan(06, 00, 00);
TimeZoneInfo mawson = TimeZoneInfo.CreateCustomTimeZone(standardName, offset, displayName, standardName);
Console.WriteLine("The current time is {0} {1}",
                  TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.Local, mawson),
                  mawson.StandardName);
Dim displayName As String = "(GMT+06:00) Antarctica/Mawson Time"
Dim standardName As String = "Mawson Time"
Dim offset As TimeSpan = New TimeSpan(06, 00, 00)
Dim mawson As TimeZoneInfo = TimeZoneInfo.CreateCustomTimeZone(standardName, offset, displayName, standardName)
Console.WriteLine("The current time is {0} {1}", _
                  TimeZoneInfo.ConvertTime(Date.Now, TimeZoneInfo.Local, mawson), _
                  mawson.StandardName)

String yang ditetapkan ke DisplayName properti mengikuti format standar di mana offset zona waktu dari UTC diikuti oleh deskripsi zona waktu yang ramah.

Mengompilasi kode

Contoh ini membutuhkan:

  • Bahwa namespace layanan berikut diimpor:

    using System.Collections.Generic;
    using System.Collections.ObjectModel;
    
    Imports System.Collections.Generic
    Imports System.Collections.ObjectModel
    
    

Lihat juga