_tzset
Mengatur variabel lingkungan waktu.
Penting
API ini tidak dapat digunakan dalam aplikasi yang dijalankan di Windows Runtime. Untuk informasi selengkapnya, lihat Fungsi CRT yang tidak didukung di aplikasi Platform Windows Universal.
Sintaks
void _tzset( void );
Keterangan
Fungsi ini _tzset
menggunakan pengaturan variabel TZ
lingkungan saat ini untuk menetapkan nilai ke tiga variabel global: _daylight
, , _timezone
dan _tzname
. Variabel ini digunakan oleh _ftime
fungsi dan localtime
untuk membuat koreksi dari waktu universal terkoordinasi (UTC) ke waktu lokal, dan oleh time
fungsi untuk menghitung UTC dari waktu sistem. Gunakan sintaks berikut untuk mengatur TZ
variabel lingkungan:
set TZ=
tzn
[+
-
|]hh
[:
mm
:ss
] ][]dzn
tzn
Nama zona waktu tiga huruf, seperti PST. Anda harus menentukan offset yang benar dari waktu lokal ke UTC.
hh
Perbedaan jam antara UTC dan waktu lokal. Tanda tangani (+) opsional untuk nilai positif.
mm
Menit. Dipisahkan dari hh
titik dua (:
).
ss
Detik. Dipisahkan dari mm
titik dua (:
).
dzn
Zona waktu musim panas tiga huruf seperti PDT. Jika waktu musim panas tidak pernah berlaku di lokalitas, atur TZ
tanpa nilai untuk dzn
. Pustaka run-time C mengasumsikan aturan Amerika Serikat untuk menerapkan perhitungan waktu musim panas (DST).
Catatan
Berhati-hatilah dalam menghitung tanda perbedaan waktu. Karena perbedaan waktu adalah offset dari waktu lokal ke UTC (bukan sebaliknya), tandanya mungkin berlawanan dengan apa yang mungkin Anda harapkan secara intuitif. Untuk zona waktu di depan UTC, perbedaan waktunya negatif; bagi mereka yang berada di belakang UTC, perbedaannya adalah positif.
Misalnya, untuk mengatur TZ
variabel lingkungan agar sesuai dengan zona waktu saat ini di Jerman, masukkan perintah ini pada baris perintah:
set TZ=GST-1GDT
Perintah ini menggunakan GST untuk menunjukkan waktu standar Jerman. Ini mengasumsikan bahwa UTC adalah satu jam di belakang Jerman (atau dengan kata lain, bahwa Jerman satu jam lebih awal dari UTC). Dan, diasumsikan bahwa Jerman mengamati waktu musim panas.
TZ
Jika nilai tidak diatur, _tzset
upaya untuk menggunakan informasi zona waktu yang ditentukan oleh sistem operasi. Dalam sistem operasi Windows, informasi ini ditentukan dalam aplikasi Tanggal/Waktu di Panel Kontrol. Jika _tzset
tidak dapat memperoleh informasi ini, informasi ini menggunakan PST8PDT secara default, yang menandakan zona Waktu Pasifik.
Berdasarkan TZ
nilai variabel lingkungan, nilai berikut ditetapkan ke variabel _daylight
global , , _timezone
dan _tzname
kapan _tzset
dipanggil:
Variabel global | Deskripsi | Nilai default |
---|---|---|
_daylight |
Nilai bukan nol jika zona waktu musim panas ditentukan dalam TZ pengaturan; jika tidak, 0. |
1 |
_timezone |
Perbedaan dalam detik antara waktu lokal dan UTC. | 28800 (28.800 detik sama dengan 8 jam) |
_tzname[0] |
Nilai string nama zona waktu dari TZ variabel lingkungan; kosong jika TZ belum ditetapkan. |
PST |
_tzname[1] |
Nilai string zona daylight-saving-time; kosong jika zona waktu musim panas dihilangkan dari TZ variabel lingkungan. |
PDT |
Nilai default yang diperlihatkan dalam tabel sebelumnya untuk _daylight
dan _tzname
array sesuai dengan "PST8PDT." Jika zona DST dihilangkan dari TZ
variabel lingkungan, nilainya _daylight
adalah 0 dan _ftime
fungsi , gmtime
, dan localtime
mengembalikan 0 untuk bendera DST mereka.
Secara default, status global fungsi ini dicakup ke aplikasi. Untuk mengubah perilaku ini, lihat Status global di CRT.
Persyaratan
Rutin | Header yang diperlukan |
---|---|
_tzset |
<time.h> |
Fungsi _tzset
ini khusus Untuk Microsoft. Untuk informasi selengkapnya, lihat Kompatibilitas.
Contoh
// crt_tzset.cpp
// This program uses _tzset to set the global variables
// named _daylight, _timezone, and _tzname. Since TZ is
// not being explicitly set, it uses the system time.
#include <time.h>
#include <stdlib.h>
#include <stdio.h>
int main( void )
{
_tzset();
int daylight;
_get_daylight( &daylight );
printf( "_daylight = %d\n", daylight );
long timezone;
_get_timezone( &timezone );
printf( "_timezone = %ld\n", timezone );
size_t s;
char tzname[100];
_get_tzname( &s, tzname, sizeof(tzname), 0 );
printf( "_tzname[0] = %s\n", tzname );
exit( 0 );
}
_daylight = 1
_timezone = 28800
_tzname[0] = Pacific Standard Time
Lihat juga
Manajemen waktu
asctime
, _wasctime
_ftime
, , _ftime32
_ftime64
gmtime
, , _gmtime32
_gmtime64
localtime
, , _localtime32
_localtime64
time
, , _time32
_time64
_utime
, , _utime32
_utime64
, _wutime
, , _wutime32
,_wutime64