_tzset
Zaman ortamı değişkenlerini ayarlar.
Önemli
Bu API, Windows Çalışma Zamanı yürütülen uygulamalarda kullanılamaz. Daha fazla bilgi için bkz. Evrensel Windows Platformu uygulamalarında desteklenmeyen CRT işlevleri.
Sözdizimi
void _tzset( void );
Açıklamalar
işlevi, _tzset
üç genel değişkene değer atamak için ortam değişkeninin TZ
geçerli ayarını kullanır: _daylight
, _timezone
ve _tzname
. Bu değişkenler, ve localtime
işlevleri tarafından _ftime
eşgüdümlü evrensel saatten (UTC) yerel saate kadar düzeltmeler yapmak için ve işlevi tarafından time
utc'yi sistem saatinden hesaplamak için kullanılır. Ortam değişkenini ayarlamak için aşağıdaki söz dizimini TZ
kullanın:
set TZ=
tzn
[+
-
|]hh
[[mm
:
:ss
] ][dzn
]
tzn
PST gibi üç harfli saat dilimi adı. Yerel saatten UTC'ye doğru uzaklığı belirtmeniz gerekir.
hh
UTC ile yerel saat arasındaki saat farkı. Pozitif değerler için isteğe bağlı olarak (+) işareti.
mm
Tutanak. hh
İki nokta (:
) ile ayrılmıştır.
ss
Saniye. mm
İki nokta (:
) ile ayrılmıştır.
dzn
PDT gibi üç harfli yaz saati saat dilimi. Gün ışığından yararlanma saati yerel ortamda hiçbir zaman geçerli değilse, için dzn
bir değer olmadan ayarlayınTZ
. C çalışma zamanı kitaplığı, yaz saati (DST) hesaplamasını uygulamak için Birleşik Devletler kurallarını varsayar.
Not
Zaman farkının işaretini hesaplamaya dikkat edin. Saat farkı yerel saatten UTC'ye (tersine değil) uzaklık olduğundan, işareti sezgisel olarak bekleyebileceğinizin tam tersi olabilir. UTC'nin önündeki saat dilimleri için saat farkı negatiftir; UTC'nin arkasındakiler için fark pozitiftir.
Örneğin, ortam değişkenini Almanya'daki TZ
geçerli saat dilimine karşılık gelen şekilde ayarlamak için komut satırına şu komutu girin:
set TZ=GST-1GDT
Bu komut, Almanca standart saatini belirtmek için GST kullanır. UTC'nin Almanya'nın bir saat gerisinde olduğunu (veya başka bir deyişle Almanya'nın UTC'den bir saat önde olduğunu) varsayar. Almanya'nın gün ışığından yararlanma saati gözlemlediğini varsayar.
TZ
Değer ayarlı değilse, _tzset
işletim sistemi tarafından belirtilen saat dilimi bilgilerini kullanmayı dener. Windows işletim sisteminde, bu bilgiler Denetim Masası Tarih/Saat uygulamasında belirtilir. Bu bilgileri alamıyorsa _tzset
, varsayılan olarak pasifik saat dilimini gösteren PST8PDT kullanır.
Ortam değişkeni değerine bağlı TZ
olarak, aşağıdaki değerler , _timezone
ve genel değişkenlerine _daylight
atanır ve _tzname
çağrıldığında_tzset
:
Evrensel değişken | Açıklama | Default value |
---|---|---|
_daylight |
Ayarda TZ gün ışığından yararlanma saat dilimi belirtilmişse sıfır olmayan değer; aksi takdirde 0. |
1 |
_timezone |
Yerel saat ile UTC arasındaki saniye farkı. | 28800 (28.800 saniye 8 saate eşittir) |
_tzname[0] |
Ortam değişkeninden TZ saat dilimi adının dize değeri; ayarlanmamışsa TZ boş. |
PST |
_tzname[1] |
Gün ışığından tasarruf eden saat diliminin dize değeri; yaz saati saat dilimi çevresel değişkenden TZ atlanırsa boş olur. |
PDT |
ve dizisi için _daylight
_tzname
önceki tabloda gösterilen varsayılan değerler "PST8PDT" değerine karşılık gelir. DST bölgesi ortam değişkeninden TZ
atlanırsa değeri _daylight
0 olur ve _ftime
DST bayrakları için , gmtime
ve localtime
işlevleri 0 döndürür.
Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bu davranışı değiştirmek için bkz. CRT'de Genel durum.
Gereksinimler
Yordam | Gerekli başlık |
---|---|
_tzset |
<time.h> |
İşlev Microsoft'a _tzset
özgüdür. Daha fazla bilgi için bkz . Uyumluluk.
Örnek
// 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
Ayrıca bkz.
Zaman yönetimi
asctime
, _wasctime
_ftime
, _ftime32
, _ftime64
gmtime
, _gmtime32
, _gmtime64
localtime
, _localtime32
, _localtime64
time
, _time32
, _time64
_utime
, _utime32
, _utime64
, , _wutime
, _wutime32
, _wutime64