Aracılığıyla paylaş


_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, _timezoneve _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
Dakika. 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 dznbir değer olmadan ayarlayınTZ. C çalışma zamanı kitaplığı, yaz saati (DST) hesaplamasını uygulamak için Birleşik Devletler kurallarını varsayar.

Dekont

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 , _timezoneve genel değişkenlerine _daylightatanır ve _tzname çağrıldığında_tzset:

Genel değişken Tanım Default value
_daylight Ayarda TZ gün ışığından yararlanma saat dilimi belirtilmişse sıfır olmayan değer; aksi takdirde 0. Kategori 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 _ftimeDST bayrakları için , gmtimeve 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