_tzset
시간 환경 변수를 설정합니다.
Important
이 API는 Windows 런타임에서 실행되는 애플리케이션에서 사용할 수 없습니다. 자세한 내용은 유니버설 Windows 플랫폼 앱에서 지원되지 않는 CRT 함수를 참조하세요.
구문
void _tzset( void );
설명
_tzset
함수는 환경 변수 TZ
의 현재 설정을 사용하여 세 개의 전역 변수 _daylight
, _timezone
및 _tzname
에 값을 할당합니다. 이러한 변수는 함수와 localtime
함수에서 UTC(협정 세계시)에서 현지 시간으로 수정하고 시스템 시간에서 UTC를 계산하는 함수에 의해 time
사용됩니다_ftime
. 다음 구문을 사용하여 TZ
환경 변수를 설정합니다.
set TZ=
tzn
[+
-
|]hh
[[mm
:
:ss
] ][dzn
]
tzn
3자의 표준 시간대 이름(예: PST)입니다. 현지 시간에서 UTC로의 올바른 오프셋을 지정해야 합니다.
hh
UTC와 현지 시간 사이의 차이(시간)입니다. 양수 값에 선택적인 (+) 부호입니다.
mm
분. 콜론( hh
)으로:
와 구분합니다.
ss
초. 콜론( mm
)으로:
와 구분합니다.
dzn
3자의 일광 절약 시간 표준 시간대(예: PDT)입니다. 일광 절약 시간이 현지에서 적용되지 않는 경우 TZ
에 대한 값 없이 dzn
설정합니다. C 런타임 라이브러리에서는 DST(일광 절약 시간) 계산 구현을 위한 미국의 규칙이 사용된다고 가정합니다.
참고 항목
계산할 때는 시간 차이의 부호에 주의해야 합니다. 시간 차이는 현지 시간에서 UTC로의 오프셋(역방향 아님)이므로 부호가 직관적으로 예상하는 것과 반대일 수 있습니다. UTC보다 빠른 표준 시간대의 경우 시간 차이가 음수이고, UTC보다 늦은 표준 시간대의 경우 차이가 양수입니다.
예를 들어 독일의 현재 표준 시간대에 해당하는 환경 변수를 설정 TZ
하려면 명령줄에 다음 명령을 입력합니다.
set TZ=GST-1GDT
이 명령은 GST를 사용하여 독일어 표준 시간을 나타냅니다. UTC가 독일보다 1시간 뒤(즉, 독일이 UTC보다 1시간 앞서는 경우) 가정합니다. 그리고 독일은 일광 절약 시간을 관찰한다고 가정합니다.
값이 TZ
설정 _tzset
되지 않은 경우 운영 체제에서 지정한 표준 시간대 정보를 사용하려고 시도합니다. Windows 운영 체제에서 이 정보는 제어판의 날짜/시간 애플리케이션에 지정되어 있습니다. 이 정보를 가져올 수 없는 경우 _tzset
기본적으로 PST8PDT 사용하며 이는 태평양 표준 시간대를 의미합니다.
TZ
환경 변수 값에 따라 _daylight
을 호출할 때 다음 값이 전역 변수 _timezone
, _tzname
및 _tzset
에 할당됩니다.
전역 변수 | 설명 | 기본값 |
---|---|---|
_daylight |
일광 절약 시간 표준 시간대가 TZ 설정에 지정된 경우 0이 아닌 값이고, 그러지 않으면 0입니다. |
1 |
_timezone |
현지 시간과 UTC 사이의 차이(초)입니다. | 28800(28,800초는 8시간) |
_tzname[0] |
환경 변수에서 TZ 표준 시간대 이름의 문자열 값입니다. 설정되지 않은 경우 TZ 비어 있습니다. |
PST |
_tzname[1] |
일광 절약 시간 표준 시간대의 문자열 값이며, TZ 환경 변수에서 일광 절약 시간 표준 시간대가 생략된 경우 비어 있습니다. |
PDT |
앞의 표 _daylight
에 표시된 기본값과 배열은 _tzname
"PST8PDT"에 해당합니다. 환경 변수에서 TZ
DST 영역을 생략하면 값 _daylight
은 0이고_ftime
, gmtime
localtime
함수는 DST 플래그에 대해 0을 반환합니다.
기본적으로 이 함수의 전역 상태는 애플리케이션으로 범위가 지정됩니다. 이 동작을 변경하려면 CRT 전역 상태를 참조하세요.
요구 사항
루틴에서 반환된 값 | 필수 헤더 |
---|---|
_tzset |
<time.h> |
이 _tzset
함수는 Microsoft 전용입니다. 자세한 내용은 호환성을 참조하세요.
예시
// 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
참고 항목
시간 관리
asctime
, _wasctime
_ftime
, , _ftime32
_ftime64
gmtime
, , _gmtime32
_gmtime64
localtime
, , _localtime32
_localtime64
time
, , _time32
_time64
_utime
, _utime32
, _utime64
, _wutime
, _wutime32
_wutime64