_tzset
セットの時の環境変数。
重要 |
---|
この API は、Windows のランタイムで実行するアプリケーションで使用することはできません。詳細については、でサポート /ZW CRT 関数" "を参照してください。 |
void _tzset( void );
解説
_tzset 関数は 3 回のグローバル変数に値を再配置するには、環境変数 TZ の現在の設定を使用します: _daylight、_timezoneと _tzname。_ftime と localtime 関数) を (UTC) から現地時刻へと修正をシステム時刻の計算の UTC に time の関数によってこれらの変数がするために使用されます。TZ の環境変数を設定するには、次の構文を使用する:
setTZ=tzn[+ | –]hh[:mm[:ss] ][dzn]
tzn
PST など、3 文字のタイムラインの名前。UTC から現地時刻への適切なオフセットを指定する必要があります。hh
UTC から現地時刻との間の時間の差。記号 (+) 正の値のオプションです。mm
分。コロン (:) で hh から離れる。ss
秒。コロン (:) で mm から離れる。dzn
PDT など、3 文字の保存時のゾーンの夏時間 (DST。夏時間で行うに仮想はない場合は、dznの値を持たない TZ を設定します。C のランタイム ライブラリには、夏時間 (DST) で計算を実行するための米国の規則を前提としています。
[!メモ]
時差の符号の計算問題を取得します。時差が現地時刻を UTC からのオフセットである (逆ではなく) であるため、記号は直感的な場合があります。内容のオブジェクトが予想される場合があります。UTC よりタイム ゾーンの場合、時差は負になります; UTC の背景上の違いは、が正です。
たとえば、TZ の環境変数をドイツ語の現在のタイム ゾーンに対応するように設定するコマンド ラインに次のように入力します:
set TZ=GST-1GDT
このコマンドは、ドイツの標準時刻を示すために販売税を使用して UTC がドイツ語の背後に 1 時間 (またはそのユーザーは UTC より 1 時間です) と想定し、ドイツ語の保存が夏時間 (DST 時間を確認すると仮定します。
TZ の値が設定されていない場合、_tzset は、オペレーティング システムで指定されているタイム ゾーンの情報を取得しようとします。Windows オペレーティング システムでは、この情報には、コントロール パネルの日付/時刻]で指定されます。_tzset がこの情報を取得できない場合、太平洋タイム ゾーンを表す PST8PDT が既定で使用されます。
TZ の環境変数の値に基づいて、次の値がグローバル変数 _daylight、_timezoneと _tzname に _tzset が呼び出されたときに再配置:
グローバル変数 |
説明 |
既定値 |
---|---|---|
_daylight |
夏時間 (DST 保存時のゾーンが TZ の配置で指定された場合、値; それ以外の場合は 0。 |
1 |
_timezone |
現地時刻と UTC の秒間の相違点。 |
28800 (28800 は 8 時間以上をサポートします) |
_tzname[0] |
TZ の環境変数からのタイムラインの名前の文字列値; TZ が設定されていない場合は空です。 |
PST |
_tzname[1] |
夏時間 (DST ゾーンの保存時の文字列値; 夏時間 (DST 保存時のゾーンが TZ の環境変数から省略した場合は空です。 |
PDT |
_daylight の前の表に示されている既定値と _tzname の配列は "PST8PDT に対応します"。DST のゾーンが TZ の環境変数から省略すると、_daylight の値は 0 で、DST の _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 を使用します。詳細については、「プラットフォーム呼び出しの例」を参照してください。