Bagikan melalui


struktur DYNAMIC_TIME_ZONE_INFORMATION (timezoneapi.h)

Menentukan pengaturan untuk zona waktu dan waktu musim panas dinamis.

Sintaks

typedef struct _TIME_DYNAMIC_ZONE_INFORMATION {
  LONG       Bias;
  WCHAR      StandardName[32];
  SYSTEMTIME StandardDate;
  LONG       StandardBias;
  WCHAR      DaylightName[32];
  SYSTEMTIME DaylightDate;
  LONG       DaylightBias;
  WCHAR      TimeZoneKeyName[128];
  BOOLEAN    DynamicDaylightTimeDisabled;
} DYNAMIC_TIME_ZONE_INFORMATION, *PDYNAMIC_TIME_ZONE_INFORMATION;

Anggota

Bias

Bias saat ini untuk terjemahan waktu lokal pada komputer ini, dalam hitungan menit. Bias adalah perbedaannya, dalam hitungan menit, antara Waktu Universal Terkoordinasi (UTC) dan waktu setempat. Semua terjemahan antara UTC dan waktu setempat didasarkan pada rumus berikut:

UTC = waktu lokal + bias

Anggota ini diperlukan.

StandardName[32]

Deskripsi untuk waktu standar. Misalnya, "EST" dapat menunjukkan Waktu Standar Timur. String akan dikembalikan tidak berubah oleh fungsi GetDynamicTimeZoneInformation . String ini bisa kosong.

StandardDate

Struktur SYSTEMTIME yang berisi tanggal dan waktu lokal ketika transisi dari siang hari menghemat waktu ke waktu standar terjadi pada sistem operasi ini. Jika zona waktu tidak mendukung waktu musim panas atau jika pemanggil perlu menonaktifkan waktu musim panas, anggota wMonth dalam struktur SYSTEMTIME harus nol. Jika tanggal ini ditentukan, anggota DaylightDate dari struktur ini juga harus ditentukan. Jika tidak, sistem mengasumsikan data zona waktu tidak valid dan tidak ada perubahan yang akan diterapkan.

Untuk memilih hari yang benar dalam sebulan, atur anggota wYear ke nol, anggota wHour dan wMinute ke waktu transisi, anggota wDayOfWeek ke hari kerja yang sesuai, dan anggota wDay untuk menunjukkan terjadinya hari dalam seminggu dalam sebulan (1 hingga 5, di mana 5 menunjukkan kejadian akhir selama bulan jika hari itu dalam seminggu tidak terjadi 5 kali).

Dengan menggunakan notasi ini, tentukan 02:00 pada hari Minggu pertama pada bulan April sebagai berikut: wHour = 2, wMonth = 4, wDayOfWeek = 0, wDay = 1. Tentukan 02:00 pada hari Kamis terakhir pada bulan Oktober sebagai berikut: wHour = 2, wMonth = 10, wDayOfWeek = 4, wDay = 5.

Jika anggota wYear bukan nol, tanggal transisi adalah absolut; itu hanya akan terjadi satu kali. Jika tidak, itu adalah tanggal relatif yang terjadi tahunan.

StandardBias

Nilai bias yang akan digunakan selama terjemahan waktu lokal yang terjadi selama waktu standar. Anggota ini diabaikan jika nilai untuk anggota StandardDate tidak disediakan.

Nilai ini ditambahkan ke nilai anggota Bias untuk membentuk bias yang digunakan selama waktu standar. Di sebagian besar zona waktu, nilai anggota ini adalah nol.

DaylightName[32]

Deskripsi untuk daylight saving time (DST). Misalnya, "PDT" dapat menunjukkan Waktu Siang Pasifik. String akan dikembalikan tidak berubah oleh fungsi GetDynamicTimeZoneInformation . String ini bisa kosong.

DaylightDate

Struktur SYSTEMTIME yang berisi tanggal dan waktu lokal ketika transisi dari waktu standar ke waktu musim panas terjadi pada sistem operasi ini. Jika zona waktu tidak mendukung waktu musim panas atau jika pemanggil perlu menonaktifkan waktu musim panas, anggota wMonth dalam struktur SYSTEMTIME harus nol. Jika tanggal ini ditentukan, anggota StandardDate dalam struktur ini juga harus ditentukan. Jika tidak, sistem mengasumsikan data zona waktu tidak valid dan tidak ada perubahan yang akan diterapkan.

Untuk memilih hari yang benar dalam sebulan, atur anggota wYear ke nol, anggota wHour dan wMinute ke waktu transisi, anggota wDayOfWeek ke hari kerja yang sesuai, dan anggota wDay untuk menunjukkan terjadinya hari dalam seminggu dalam sebulan (1 hingga 5, di mana 5 menunjukkan kejadian akhir selama bulan jika hari itu dalam seminggu tidak terjadi 5 kali).

Jika anggota wYear bukan nol, tanggal transisi adalah absolut; itu hanya akan terjadi satu kali. Jika tidak, itu adalah tanggal relatif yang terjadi tahunan.

DaylightBias

Nilai bias yang akan digunakan selama terjemahan waktu lokal yang terjadi selama waktu musim panas. Anggota ini diabaikan jika nilai untuk anggota DaylightDate tidak disediakan.

Nilai ini ditambahkan ke nilai anggota Bias untuk membentuk bias yang digunakan selama waktu musim panas. Di sebagian besar zona waktu, nilai anggota ini adalah –60.

TimeZoneKeyName[128]

Nama kunci registri zona waktu di komputer lokal. Untuk informasi selengkapnya, lihat Keterangan.

DynamicDaylightTimeDisabled

Menunjukkan apakah waktu musim panas dinamis dinonaktifkan. Mengatur anggota ini ke TRUE menonaktifkan waktu musim panas dinamis, menyebabkan sistem menggunakan serangkaian tanggal transisi tetap.

Untuk memulihkan waktu musim panas dinamis, panggil fungsi SetDynamicTimeZoneInformation dengan DynamicDaylightTimeDisabled diatur ke FALSE. Sistem akan membaca tanggal transisi untuk tahun ini pada pembaruan waktu berikutnya, reboot sistem berikutnya, atau akhir tahun kalender (mana yang lebih dulu.)

Saat memanggil fungsi GetDynamicTimeZoneInformation, anggota ini TRUE jika zona waktu diatur menggunakan fungsi SetTimeZoneInformation alih-alih SetDynamicTimeZoneInformation atau jika pengguna telah menonaktifkan fitur ini menggunakan aplikasi Tanggal dan Waktu di Panel Kontrol.

Untuk menonaktifkan waktu musim panas, atur anggota ini ke TRUE, kosongkan anggota StandardDate dan DaylightDate , dan panggil SetDynamicTimeZoneInformation. Untuk memulihkan waktu musim panas, panggil SetDynamicTimeZoneInformation dengan DynamicDaylightTimeDisabled diatur ke FALSE.

Keterangan

Waktu musim panas dinamis memberikan dukungan untuk zona waktu yang batasnya untuk perubahan waktu musim panas dari tahun ke tahun. Fitur ini memungkinkan pembaruan sistem yang lebih mudah, terutama untuk lokal di mana batas DST tahunan dikenal sebelumnya. Setelah zona waktu diperbarui, pengaturan zona waktu saat ini diterapkan ke semua operasi waktu, bahkan ketika waktu yang bersangkutan terjadi sebelum zona waktu berubah. Oleh karena itu, yang terbaik adalah menyimpan waktu UTC dan mengonversinya ke zona waktu lokal saat ini.

Anda dapat mengatur tanggal transisi untuk tahun ini menggunakan fungsi SetDynamicTimeZoneInformation . Untuk mengatur tanggal transisi mendatang, Anda harus menambahkan entri ke data registri. Pengaturan untuk waktu siang hari dinamis disimpan dalam kunci registri berikut:

HKEY_LOCAL_MACHINE
   SOFTWARE
      Microsoft
         Windows NT
            CurrentVersion
               Time Zones
                  time_zone_name
                     Dynamic DST

Setiap kunci DST Dinamis menyertakan nilai registri berikut.

Nilai registri Jenis Deskripsi
FirstEntry REG_DWORD Tahun pertama dalam tabel.
LastEntry REG_DWORD Tahun terakhir di tabel.
tahun1 REG_BINARY Informasi zona waktu berikut.
typedef struct _REG_TZI_FORMAT
{
    LONG Bias;
    LONG StandardBias;
    LONG DaylightBias;
    SYSTEMTIME StandardDate;
    SYSTEMTIME DaylightDate;
} REG_TZI_FORMAT;
tahun2 REG_BINARY Struktur REG_TZI_FORMAT .
Merindukan REG_BINARY Struktur REG_TZI_FORMAT .
 

Untuk informasi selengkapnya tentang nilai lain di kunci Zona Waktu , lihat TIME_ZONE_INFORMATION.

StandardName dan DaylightName dilokalkan sesuai dengan bahasa UI default pengguna saat ini.

Persyaratan

   
Klien minimum yang didukung Windows Vista [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows Server 2008 [aplikasi desktop | Aplikasi UWP]
Header timezoneapi.h (termasuk Timezoneapi.h, Windows.h)

Lihat juga

GetDynamicTimeZoneInformation

SYSTEMTIME

SetDynamicTimeZoneInformation