tzset(3) - wariua/manpages-ko GitHub Wiki

NAME

tzset, tzname, timezone, daylight - μ‹œκ°„ λ³€ν™˜ 정보 μ΄ˆκΈ°ν™”

SYNOPSIS

#include <time.h>

void tzset (void);

extern char *tzname[2];
extern long timezone;
extern int daylight;

glibc κΈ°λŠ₯ 확인 맀크둜 μš”κ±΄ (feature_test_macros(7) μ°Έκ³ ):

tzset():
_POSIX_C_SOURCE
tzname:
_POSIX_C_SOURCE
timezone, daylight:
_XOPEN_SOURCE
|| /* glibc 2.19λΆ€ν„°: */ _DEFAULT_SOURCE
|| /* glibc 버전 <= 2.19: */ _SVID_SOURCE

DESCRIPTION

tzset() ν•¨μˆ˜λŠ” TZ ν™˜κ²½ λ³€μˆ˜λ₯Ό κ°€μ§€κ³  tzname λ³€μˆ˜λ₯Ό μ΄ˆκΈ°ν™” ν•œλ‹€. μ‹œκ°„λŒ€μ— μ˜μ‘΄ν•˜λŠ” λ‹€λ₯Έ μ‹œκ°„ λ³€ν™˜ ν•¨μˆ˜λ“€μ—μ„œ 이 ν•¨μˆ˜λ₯Ό μžλ™μœΌλ‘œ ν˜ΈμΆœν•œλ‹€. μ‹œμŠ€ν…œ V 방식 ν™˜κ²½μ—μ„œλŠ” λ³€μˆ˜ timezone(UTC μ„œμͺ½μœΌλ‘œ λͺ‡ 초) 및 daylight(μ‹œκ°„λŒ€μ— 일광 μ ˆμ•½ μ‹œκ°„ κ·œμΉ™μ΄ μ—†μœΌλ©΄ 0으둜, 일광 μ ˆμ•½ μ‹œκ°„μ΄ μ μš©λ˜λŠ” κ³Όκ±°λ‚˜ ν˜„μž¬, 미래 μ‹œμ μ΄ 있으면 0 μ•„λ‹Œ κ°’μœΌλ‘œ)κΉŒμ§€ μ„€μ •ν•œλ‹€.

ν™˜κ²½ 내에 TZ λ³€μˆ˜κ°€ μ•ˆ 보이면 μ‹œμŠ€ν…œ μ‹œκ°„λŒ€λ₯Ό μ“΄λ‹€. μ‹œμŠ€ν…œ μ‹œκ°„λŒ€λŠ” tzfile(5) ν˜•μ‹ νŒŒμΌμ„ /etc/localtime으둜 λ³΅μ‚¬ν•˜κ±°λ‚˜ 링크 ν•΄μ„œ μ„€μ •ν•œλ‹€. μ‹œμŠ€ν…œ μ‹œκ°„λŒ€ 디렉터리(μ•„λž˜ FILES 절 μ°Έκ³ )μ—μ„œ 그런 νŒŒμΌλ“€λ‘œ 이뀄진 μ‹œκ°„λŒ€ λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό λ³Ό 수 μžˆλ‹€.

ν™˜κ²½ 내에 TZ λ³€μˆ˜κ°€ μžˆκΈ°λŠ” ν•œλ° 값이 λΉ„μ–΄ μžˆκ±°λ‚˜ κ·Έ 값을 μ•„λž˜ λͺ…μ„Έν•˜λŠ” ν˜•μ‹λ“€ 쀑 μ–΄λ–€ κ²ƒμœΌλ‘œλ„ 해석할 수 μ—†μœΌλ©΄ ν˜‘μ • μ„Έκ³„μ‹œ(UTC)λ₯Ό μ“΄λ‹€.

TZ의 값은 두 κ°€μ§€ ν˜•μ‹ 쀑 ν•˜λ‚˜λ‘œ 돼 μžˆμ„ 수 μžˆλ‹€. 첫 번째 ν˜•μ‹μ€ μ‚¬μš©ν•  μ‹œκ°„λŒ€λ₯Ό 직접 ν‘œν˜„ν•˜λŠ” λ¬Έμžμ—΄μ΄λ‹€.

std offset[dst[offset][,start[/time],end[/time]]]

λͺ…μ„Έ λ¬Έμžμ—΄ 내에 곡백이 μ „ν˜€ μ—†λ‹€. std λ¬Έμžμ—΄μ€ μ‹œκ°„λŒ€ μ•½μžλ₯Ό λ‚˜νƒ€λ‚΄λ©° μ„Έ κΈ€μž μ΄μƒμ˜ μ•ŒνŒŒλ²³ λ¬Έμžμ—¬μ•Ό ν•œλ‹€. 이상(<) 및 이상(>) λΆ€ν˜Έλ‘œ 감싼 경우 λ”ν•˜κΈ°(+) λΆ€ν˜Έμ™€ λΉΌκΈ°(-) λΆ€ν˜Έ, μˆ«μžλ“€κΉŒμ§€ ν¬ν•¨ν•˜λ„λ‘ 문자 집합이 ν™•μž₯λœλ‹€. offset λ¬Έμžμ—΄μ€ std λ°”λ‘œ λ‹€μŒμ— 였며 μ§€μ—­ μ‹œκ°„μ— λ”ν•˜λ©΄ ν˜‘μ • μ„Έκ³„μ‹œ(UTC)κ°€ λ‚˜μ˜€λŠ” μ‹œκ°„ 양을 λ‚˜νƒ€λ‚Έλ‹€. μ§€μ—­ μ‹œκ°„λŒ€κ°€ 본초 μžμ˜€μ„  μ„œμͺ½μ΄λ©΄ offset이 μ–‘μˆ˜κ³  동μͺ½μ΄λ©΄ μŒμˆ˜λ‹€. μ‹œκ°„μ€ 0μ—μ„œ 24κΉŒμ§€, λΆ„κ³Ό μ΄ˆλŠ” 00μ—μ„œ 59κΉŒμ§€μ—¬μ•Ό ν•œλ‹€.

[+|-]hh[:mm[:ss]]

dst λ¬Έμžμ—΄ 및 offset은 ν•΄λ‹Ήν•˜λŠ” 일광 μ ˆμ•½ μ‹œκ°„λŒ€μ˜ 이름과 μ˜€ν”„μ…‹μ„ λ‚˜νƒ€λ‚Έλ‹€. μ˜€ν”„μ…‹μ΄ μƒλž΅λΌ 있으면 ν‘œμ€€μ‹œλ³΄λ‹€ ν•œ μ‹œκ°„ μ•žμ„œλŠ” κ²ƒμœΌλ‘œ μΉœλ‹€.

start ν•„λ“œλŠ” 일광 μ ˆμ•½ μ‹œκ°„μ΄ λ°œνš¨λ˜λŠ” λ•Œλ₯Ό λ‚˜νƒ€λ‚΄κ³  end ν•„λ“œλŠ” λ‹€μ‹œ ν‘œμ€€μ‹œλ‘œ λ°”λ€ŒλŠ” λ•Œλ₯Ό λ‚˜νƒ€λ‚Έλ‹€. 이 두 ν•„λ“œλŠ” λ‹€μŒ ν˜•μ‹μΌ 수 μžˆλ‹€.

Jn
율리우슀λ ₯ λ‚ μ§œλ₯Ό 1μ—μ„œ 365 μ‚¬μ΄μ˜ n으둜 μ§€μ •ν•œλ‹€. μœ€λ‚ μ€ μ„Έμ§€ μ•ŠλŠ”λ‹€. 이 ν˜•μ‹μ—μ„œλŠ” 2μ›” 29일을 ν‘œν˜„ν•  수 μ—†λ‹€. 즉 2μ›” 28일이 59번 날이고 항상 3μ›” 1일이 60번 날이닀.
n
0이 기쀀인 율리우슀λ ₯ λ‚ μ§œλ₯Ό 0μ—μ„œ 365 μ‚¬μ΄μ˜ n으둜 μ§€μ •ν•œλ‹€. μœ€λ…„μ˜ 2μ›” 29일을 μ„Όλ‹€.
Mm.w.d
m μ›”(1 <= m <= 12)의 w 번째 μ£Ό(1 <= w <= 5)의 d 번째 λ‚ (0 <= d <= 6)을 μ§€μ •ν•œλ‹€. 1번째 μ£ΌλŠ” d 번째 날이 μžˆλŠ” 첫 번째 주이고 5번째 μ£ΌλŠ” d 번째 날이 μžˆλŠ” λ§ˆμ§€λ§‰ 주이닀. 0번째 날은 μΌμš”μΌμ΄λ‹€.

time ν•„λ“œλŠ” ν˜„μž¬ 적용 쀑인 μ§€μ—­ μ‹œκ°„μœΌλ‘œ μ–Έμ œ κ·Έ λ‹€λ₯Έ μ‹œκ°„μœΌλ‘œ λ°”λ€ŒλŠ”μ§€λ₯Ό λ‚˜νƒ€λ‚Έλ‹€. μƒλž΅ μ‹œ 기본값은 02:00:00이닀.

λ‹€μŒμ€ λ‰΄μ§ˆλžœλ“œ 사둀이닀. ν‘œμ€€ μ‹œκ°„(NZST)이 UTC보닀 12μ‹œκ°„ μ•žμ„œκ³ , 일광 μ ˆμ•½ μ‹œκ°„(NZDT)이 UTC보닀 13μ‹œκ°„ μ•žμ„œκ³  10μ›” 첫째 μΌμš”μΌλΆ€ν„° 3μ›” μ…‹μ§Έ μΌμš”μΌκΉŒμ§€ μ‹œν–‰λ˜λ©°, κΈ°λ³Έ μ‹œκ°„ 02:00:00에 μ „ν™˜μ΄ 이뀄진닀.

TZ="NZST-12:00:00NZDT-13:00:00,M10.1.0,M3.3.0"

두 번째 ν˜•μ‹μ€ νŒŒμΌμ—μ„œ μ‹œκ°„λŒ€ 정보λ₯Ό 읽어 듀이도둝 λͺ…μ‹œν•œλ‹€.

:[filespec]

파일 λͺ…μ„Έ filespec이 μƒλž΅λΌ μžˆκ±°λ‚˜ κ·Έ 값을 해석할 수 μ—†λŠ” κ²½μš°μ—λŠ” ν˜‘μ • μ„Έκ³„μ‹œ(UTC)λ₯Ό μ“΄λ‹€. filespec이 μ£Όμ–΄μ§„ κ²½μš°μ—λŠ” μ‹œκ°„λŒ€ 정보λ₯Ό 읽어 듀일 또 λ‹€λ₯Έ tzfile(5) ν˜•μ‹ νŒŒμΌμ„ λ‚˜νƒ€λ‚Έλ‹€. filespec이 '/'둜 μ‹œμž‘ν•˜μ§€ μ•ŠμœΌλ©΄ μ‹œμŠ€ν…œ μ‹œκ°„λŒ€ 디렉터리λ₯Ό κΈ°μ€€μœΌλ‘œ νŒŒμΌμ„ μ§€μ •ν•˜λŠ” 것이닀. 콜둠이 λΉ μ Έ 있으면 μœ„μ˜ TZ ν˜•μ‹λ“€ 각각을 μ‹œλ„ν•΄ 보게 λœλ‹€.

λ‹€μ‹œ λ‰΄μ§ˆλžœλ“œλ‘œ 예λ₯Ό λ“€λ©΄ λ‹€μŒκ³Ό κ°™λ‹€.

TZ=":Pacific/Auckland"

ENVIRONMENT

TZ
이 λ³€μˆ˜κ°€ 섀정돼 있으면 κ·Έ 값이 μ‹œμŠ€ν…œ μ„€μ • μ‹œκ°„λŒ€λ³΄λ‹€ μš°μ„ ν•œλ‹€.
TZDIR
이 λ³€μˆ˜κ°€ 섀정돼 있으면 κ·Έ 값이 μ‹œμŠ€ν…œ μ„€μ • μ‹œκ°„λŒ€ λ°μ΄ν„°λ² μ΄μŠ€ 디렉터리 κ²½λ‘œλ³΄λ‹€ μš°μ„ ν•œλ‹€.

FILES

/etc/localtime
μ‹œμŠ€ν…œ μ‹œκ°„λŒ€ 파일.
/usr/share/zoneinfo/
μ‹œμŠ€ν…œ μ‹œκ°„λŒ€ λ°μ΄ν„°λ² μ΄μŠ€ 디렉터리.
/usr/share/zoneinfo/posixrules
TZ λ¬Έμžμ—΄μ— dst μ‹œκ°„λŒ€κ°€ 있고 κ·Έ 뒀에 아무것도 μ—†μœΌλ©΄ 이 νŒŒμΌμ„ μ¨μ„œ μ‹œμž‘/끝 κ·œμΉ™μ„ μ–»λŠ”λ‹€. tzfile(5) ν˜•μ‹μœΌλ‘œ 돼 μžˆλ‹€. 기본적으둜 zoneinfo의 Makefileμ—μ„œ tzfile America/New York에 λŒ€ν•œ ν•˜λ“œ 링크둜 λ§Œλ“€μ–΄ λ‘”λ‹€.

이상은 ν˜„ν–‰ ν‘œμ€€ 파일 μœ„μΉ˜μ΄λ‹€. glibcλ₯Ό 컴파일 ν•  λ•Œ μ„€μ • κ°€λŠ₯ν•˜λ‹€.

ATTRIBUTES

이 μ ˆμ—μ„œ μ‚¬μš©ν•˜λŠ” μš©μ–΄λ“€μ— λŒ€ν•œ μ„€λͺ…은 attributes(7)λ₯Ό 보라.

μΈν„°νŽ˜μ΄μŠ€ 속성 κ°’
tzset() μŠ€λ ˆλ“œ μ•ˆμ „μ„± MT-Safe env locale

CONFORMING TO

POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.

NOTES

4.3BSDμ—λŠ” char *timezone(zone, dst) ν•¨μˆ˜κ°€ μžˆμ–΄μ„œ 첫 번째 인자(UTC μ„œμͺ½μœΌλ‘œ λͺ‡ λΆ„)에 λŒ€μ‘ν•˜λŠ” μ‹œκ°„λŒ€μ˜ 이름을 λ°˜ν™˜ν–ˆλ‹€. 두 번째 μΈμžκ°€ 0이면 ν‘œμ€€ 이름을 썼고 μ•„λ‹ˆλ©΄ 일광 μ ˆμ•½ μ‹œκ°„ 버전을 썼닀.

SEE ALSO

date(1), gettimeofday(2), time(2), ctime(3), getenv(3), tzfile(5)


2017-09-15

⚠️ **GitHub.com Fallback** ⚠️