_tzset, _wtzset
time.h:インデックス への移動
ヘッダーファイル
time.h
カテゴリ
日付/時刻ルーチン
プロトタイプ
void _tzset(void);
void _wtzset(void);
説明
グローバル変数 _daylight,_timezone,および _tzname の値を設定します。
_tzset は,XENIX で使用できます。
_tzset は,環境変数 TZ に基づいて,グローバル変数 _daylight,_timezone,および _tzname を設定します。_wtzset は,グローバル変数 _daylight,_timezone,および _wtzname を設定します。ライブラリ関数 ftime と localtime は,これらのグローバル変数を使用して,グリニッジ標準時(GMT)を地域時間帯に調整します。TZ 環境文字列の形式は次のとおりです。
TZ = zzz[+/-]d[d][lll]
zzz は,現在の時間帯の名前を表す 3 文字の文字列です。3 文字すべてが必要です。たとえば,文字列「PST」を使用して,太平洋標準時を表すことができます。
[+/-]d[d] は,1 桁以上の数値を含む必須フィールドで,オプションで符号が付きます。この数値は,GMT と地域時間帯の時差(時間単位)です。正の数値は,GMT を西向きに調整します。負の数値は,GMT を東向きに調整します。たとえば,5 = EST,+8 = PST,-1 = 大陸ヨーロッパです。この数値は,グローバル変数 _timezone の計算に使用されます。_timezone は,GMT と地域時間帯との時差です(秒単位)。
lll は,地域時間帯(夏時間)を表すオプションの 3 文字フィールドです。たとえば,文字列「PDT」を使用して,太平洋夏時間を表すことができます。このフィールドが存在する場合は,グローバル変数 _daylight が 0 以外の値に設定されます。このフィールドが存在しない場合,_daylight は 0 に設定されます。
TZ 環境文字列が存在しないか,上に示した形式で存在しない場合は,デフォルトの TZ = “EST5EDT”を仮定して,グローバル変数 _daylight,_timezone,および _tzname に値が代入されます。Win32 システムでは,TZ が NULL の場合,これらのグローバル変数は設定されません。
グローバル変数 _tzname[0] および _wtzname[0] は,TZ 環境文字列の時間帯名の値を含む 3 文字の文字列へのポインタです。_tzname[1] および _wtzname[1] は,TZ 環境文字列の夏時間帯名の値を含む 3 文字の文字列へのポインタです。夏時間帯名が存在しない場合,_tzname[1] と _wtzname[1] は,ヌル文字列を指します。
戻り値
なし。
例
#include <time.h>
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
time_t td;
putenv("TZ=PST8PDT");
tzset();
time(&td);
printf("Current time = %s\n", asctime(localtime(&td)));
return 0;
}
移植性
POSIX | Win32 | ANSI C | ANSI C++ | |
---|---|---|---|---|
_tzset |
+ |
+ |
||
_wtzset |
+ |