Share via


_tzset

設定時間環境變數。

重要

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

void _tzset( void );

備註

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

set TZ=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 函式會傳回以 DST為旗幟的 0 值。

需求

常式

必要的標頭

_tzset

<time.h>

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

範例

// 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。如需詳細資訊,請參閱平台叫用範例

請參閱

參考

時間管理

asctime、_wasctime

_ftime、_ftime32、_ftime64

gmtime、_gmtime32、_gmtime64

localtime、_localtime32、_localtime64

time、_time32、_time64

_utime、_utime32、_utime64、_wutime、_wutime32、_wutime64