_tzset

設定時間環境變數。

重要事項重要事項

這個 API 不能用於 Windows 執行階段執行的應用程式。如需詳細資訊,請參閱 CRT 函式不支援使用 /ZW

void _tzset( void );

備註

_tzset 函式使用環境變數 TZ 的目前設定指派值給三個全域變數: _daylight、 _timezone和 _tzname。time 函式使用這些變數由 _ftimelocaltime 函式以 Coordinated Universal Time (UTC) 進行更正到本地時間和計算系統時間的 UTC。使用下列語法設定 TZ 環境變數:

setTZ=tzn[+ | –]hh[:mm[:ss] ][dzn]

  • tzn
    三個字母時區名稱,例如 PST。您必須指定與本地時間之間的位移為 UTC。

  • hh
    差異 UTC 與本地時間之間的時數。標記 (+) 可選為正值。

  • mm
    分鐘。從 hh 以冒號分隔 (:)。

  • ss
    秒數。從 mm 以冒號分隔 (:)。

  • dzn
    三個字母日光節約時區例如 PDT。如果日光節約時間實際上會在這個位置,將 TZ ,而 dzn的值。C 執行階段程式庫假設實作的日光節約時間 (DST) 的計算美國的規則。

注意事項注意事項

請在計算時插入標記的。由於時差是從當地時區的 UTC 位移 (而不是相反),其標記可能就是的相反可能直接預期。針對 UTC 的時區,時差為負數;對於那些在 UTC 之後,差異是正數。

例如,設定 TZ 環境變數對應於目前時區在德文版,請輸入以下命令:

set TZ=GST-1GDT

這個命令使用 GST 表示德文標準時間,假設, UTC 是安裝在德文版之後的一小時 (換句話說,或該德文是 UTC 的一小時),並假設,德文採行日光節約時間。

如果 TZ 值未設定, _tzset 嘗試使用作業系統所指定的時區資訊。在 Windows 作業系統,這項資訊在控制台的日期/時間應用程式指定。如果 _tzset 無法取得這項資訊,預設會使用 PST8PDT,表示太平洋時區。

在呼叫 _tzset 時, TZ 包含環境變數值,下列值指派給全域變數 _daylight、 _timezone和 _tzname :

全域變數

描述

預設值

_daylight

非零值,如果日光節約時區在 TZ 設定指定;否則,則為 0。

1

_timezone

差異本地時間與 UTC 之間相差幾秒為單位)。

28800 (28800 秒等於 8 小時)

_tzname[0]

時區名稱的字串值從 TZ 環境變數的; TZ ,如果未設定,則會是空白的。

PST

_tzname[1]

日光節約時區的字串值;,如果日光節約時區從 TZ 環境變數,請省略空白。

PDT

在 _daylight 中從上述表格中所列的預設值和 _tzname 陣列會對應到 PST8PDT」。如果日光節約時區從 TZ 環境變數被省略, _daylight 的值是 0,且 _ftime、 gmtime和 localtime 函式會傳回 0 的日光節約時間的旗標。

需求

程序

必要的標頭檔

_tzset

<time.h>

如需詳細資訊,請參閱 相容性

範例

// 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 );
}
  

.NET Framework 對等用法

不適用。若要呼叫標準 C 函式,請使用 PInvoke。如需更多的資訊,請參閱 Platform Invoke Examples

請參閱

參考

時間管理

asctime _wasctime

_ftime,_ftime32 _ftime64

gmtime,_gmtime32 _gmtime64

localtime,_localtime32 _localtime64

time,_time32 _time64

_utime、 _utime32 _utime64、 _wutime、 _wutime32、 _wutime64