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.
|
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) |