tzfile(5) - wariua/manpages-ko GitHub Wiki
tzfile - μκ°λ μ 보
tzset(3)μμ μ°λ μκ°λ μ 보 νμΌλ€μ λ³΄ν΅ /usr/share/zoneinfo
κ°μ μ΄λ¦μ λλ ν°λ¦¬ μλμ μλ€. κ·Έ νμΌλ€μ λ€μ νλλ€μ λ΄μ 44λ°μ΄νΈ ν€λλ‘ μμνλ€.
-
μκ°λ μ 보 νμΌμμ λνλ΄λ 4λ°μ΄νΈμ§λ¦¬ ASCII μ΄ "TZif".
-
νμΌ νμ λ²μ μ λνλ΄λ ν λ°μ΄νΈ. (2017λ νμ¬ ASCII NULμ΄κ±°λ, "2"μ΄κ±°λ, "3".)
-
ν₯ν μ©λλ₯Ό μν΄ μλΉλ 0μ λ΄μ 15λ°μ΄νΈ.
-
νμ€ λ°μ΄νΈ μμ(κ°μ μμ λ°μ΄νΈ λ¨Όμ )λ‘ κΈ°λ‘λ 4λ°μ΄νΈμ§λ¦¬ μ μ κ° μ¬μ― κ°. κ·Έ κ°λ€μ μ°¨λ‘λ‘ λ€μκ³Ό κ°λ€.
tzh_ttisgmtcnt
- νμΌμ μ μ₯λ UT/λ‘컬 νμμ μ.
tzh_ttisstdcnt
- νμΌμ μ μ₯λ νμ€/λ²½μκ³ νμμ μ.
tzh_leapcnt
- νμΌμ λ°μ΄ν° νλͺ©μ΄ μ μ₯λΌ μλ μ€μ΄ μ.
tzh_timecnt
- νμΌμ λ°μ΄ν° νλͺ©μ΄ μ μ₯λΌ μλ μ ν μκ° μ.
tzh_typecnt
- νμΌμ λ°μ΄ν° νλͺ©μ΄ μ μ₯λΌ μλ μ§μ μκ° μ’ λ₯ κ°μ. (0μ΄ μλμ΄μΌ ν¨.)
tzh_charcnt
- νμΌμ μ μ₯λ μκ°λ μΆμ½λͺ λ¬Έμμ΄λ€μ λ°μ΄νΈ μ.
μ ν€λ λ€μμΌλ‘ λ€μ νλλ€μ΄ μ€λλ°, ν€λ λ΄μ©μ λ°λΌ κΈΈμ΄κ° μ ν΄μ§λ€.
-
μ€λ¦μ°¨μμΌλ‘ μ λ ¬λ 4λ°μ΄νΈ λΆνΈ μλ μ μ κ°
tzh_timecnt
κ°. μ΄ κ°λ€μ νμ€ λ°μ΄νΈ μμλ‘ κΈ°λ‘λλ€. μ§μ μκ° κ³μ° κ·μΉμ΄ λ°λλ μ ν μκ°μΌλ‘ μ°μΈλ€. (time(2) λ°ν κ°μΌλ‘ λνλ.) -
1λ°μ΄νΈ λΆνΈ μλ μ μ κ°
tzh_timecnt
κ°. νμΌμ κΈ°μ λ μ¬λ¬ μ§μ μκ° μ’ λ₯λ€ μ€ μ΄λ κ² κ°μ μΈλ±μ€μ μ ν μκ°λΆν° λ€μ μ ν μκ° μ κΉμ§μ κΈ°κ°μ μ°κ³λΌ μλμ§ μλ € μ€λ€. (λ¨ λ§μ§λ§ μκ° μ’ λ₯ νλͺ©μ μλ κΈ°μ λ POSIX μ€νμΌ TZ λ¬Έμμ΄κ³Όμ μΌκ΄μ± κ²μ¬λ₯Ό μν΄ μμ λΏμ΄λ€.) μ΄ κ°λ€μ΄ λ€μ νλμμ μΈλ±μ€ μν μ νλ€. -
λ€μμ²λΌ μ μλ
ttinfo
νλͺ©tzh_typecnt
κ°.struct ttinfo { int32_t tt_gmtoff; unsigned char tt_isdst; unsigned char tt_abbrind; };
κ° κ΅¬μ‘°μ²΄λ νμ€ λ°μ΄νΈ μμλ‘ λ 4λ°μ΄νΈ λΆνΈ μλ μ μ κ°
tt_gmtoff
, 1λ°μ΄νΈ κ°tt_isdst
, 1λ°μ΄νΈ κ°tt_abbrind
λ‘ μ΄λ€μ§λ€. κ° κ΅¬μ‘°μ²΄μμtt_gmtoff
λ UTμ λν΄μΌ ν μ΄ μμ΄κ³ ,tt_isdst
λ localtime(3)μμtm_isdst
λ₯Ό μ€μ ν΄μΌ νλμ§ μ¬λΆλ₯Ό λνλ΄λ©°,tt_abbrind
λ νμΌμμttinfo
ꡬ쑰체(λ€) λ€μμ μ€λ μκ°λ μΆμ½λͺ λ¬Έμμ΄ λ°°μ΄μμμ μΈλ±μ€ μν μ νλ€. -
νμ€ λ°μ΄νΈ μμλ‘ λ 4λ°μ΄νΈ κ°
tzh_leapcnt
μ. κ° μμ 첫 λ²μ§Έ κ°μ μ€μ΄κ° μΌμ΄λλ μμ μλ μκ°μ΄κ³ (time(2) λ°ν κ°μΌλ‘ λνλ), λ λ²μ§Έλ κ·Έ μκ°λΆν°μ κΈ°κ° λμμ μ μ©ν μ€μ΄ μ΄ κ°μμ΄λ€. μκ° μ€λ¦μ°¨μμΌλ‘ μλ€μ΄ μ μ₯λΌ μλ€. κ° μ νμ μμ λλ μμ 1μ΄ λ§νΌμ μ€μ΄μ΄λ©°, μ ν κ°μλ νμ μ΅μ 28μΌ λΉΌκΈ° 1μ΄λ§νΌμ κ°κ²©μ λλ€. -
1λ°μ΄νΈ κ°μΌλ‘ μ μ₯λ νμ€/λ²½μκ³ νμμ
tzh_ttisdstcnt
κ°. μ§μ μκ° μ’ λ₯μ μ°κ³λ μ ν μκ°λ€μ΄ νμ€ μκ°κ³Ό λ²½μκ³ μκ° μ€ μ΄λ μͺ½μΌλ‘ μ§μ λΌ μλμ§ λνλΈλ€. POSIX λ°©μ μκ°λ νκ²½ λ³μλ€μ λ€λ£¨λ κ³Όμ μμ μκ°λ νμΌμ μ΄μ©ν λ μ°μΈλ€. -
1λ°μ΄νΈ κ°μΌλ‘ μ μ₯λ UT/μ§μ νμμ
tzh_ttisgmtcnt
κ°. μ§μ μκ° μ’ λ₯μ μ°κ³λ μ ν μκ°λ€μ΄ UT μκ°κ³Ό μ§μ μκ° μ€ μ΄λ μͺ½μΌλ‘ μ§μ λΌ μλμ§ λνλΈλ€. POSIX λ°©μ μκ°λ νκ²½ λ³μλ€μ λ€λ£¨λ κ³Όμ μμ μκ°λ νμΌμ μ΄μ©ν λ μ°μΈλ€.
tzh_timecnt
κ° 0μ΄κ±°λ μκ° μΈμκ° νμΌμ κΈ°λ‘λΌ μλ 첫 λ²μ§Έ μ ν μκ°λ³΄λ€ μμΈ κ²½μ°μ localtime(3) ν¨μλ νμΌμ 첫 λ²μ§Έ νμ€ μκ° ttinfo
ꡬ쑰체λ₯Ό (νμ€ μκ° κ΅¬μ‘°μ²΄κ° μμΌλ©΄ κ·Έλ₯ 첫 λ²μ§Έ ttinfo
ꡬ쑰체λ₯Ό) μ¬μ©νλ€.
λ²μ 2 νμμ μκ°λ νμΌμμλ μμ ν€λ λ° λ°μ΄ν° λ€μμ λ λ²μ§Έ ν€λ λ° λ°μ΄ν°κ° μ€λλ°, μ ν μκ°κ³Ό μ€μ΄ μκ°μ κ°κ° 8λ°μ΄νΈλ₯Ό μ΄λ€λ μ μ λΉΌκ³€ λμΌν νμμ΄λ€. (μ€μ΄ κ°μλ μ¬μ ν 4λ°μ΄νΈλ€.) λ λ²μ§Έ ν€λ λ° λ°μ΄ν° λ€μμλ κ°νμΌλ‘ κ°μΌ POSIX TZ νκ²½ λ³μ μ€νμΌ λ¬Έμμ΄μ΄ μ€λλ°, νμΌμ μ μ₯λ λ§μ§λ§ μ ν μκ° νμ μκ°λ€μ (νμΌμ μ νμ΄ μλ€λ©΄ λͺ¨λ μκ°λ€μ) μ²λ¦¬ν λ μ°κΈ° μν κ²μ΄λ€. κ·Έ μκ°λ€μ λν POSIX ννμ΄ μ‘΄μ¬νμ§ μλ κ²½μ°μλ POSIX μ€νμΌ TZ λ¬Έμμ΄μ΄ λΉμ΄ μλ€. (μ¦ κ°ν μ¬μ΄μ μ무κ²λ μλ€.) POSIX μ€νμΌ TZ λ¬Έμμ΄μ΄ λΉμ΄ μμ§ μμ κ²½μ°μλ κ·Έ μ¬λ λ°μ΄νΈ λ°μ΄ν°λ‘ λ μ ν μκ°μ΄ μλ€λ©΄ λ§μ§λ§ μ ν μκ° νμ μ§μ μκ° μ’ λ₯μ κ·Έ TZ λ¬Έμμ΄μ΄ λΆν©ν΄μΌ νλ€. μλ₯Ό λ€μ΄ κ·Έ λ¬Έμμ΄μ΄ "WET0WEST,M3.5.0,M10.5.0/3"λΌκ³ νκ³ , λ§μ§λ§ μ ν μκ°μ΄ 7μμ μλ€λ©΄ κ·Έ μ νμ μ§μ μκ° μ’ λ₯μμ UTλ³΄λ€ ν μκ° λμͺ½μ΄κ³ "WEST"λ‘ μ€μ¬ μ°λ μΌκ΄ μ μ½ μκ°μ λͺ μν΄μΌ νλ€. λν μ νμ΄ μ΅μ ν λ²μ μμ λ 무νλ κ³Όκ±°λΆν° κ°μ₯ μ΄λ₯Έ μ ν μκ° μ κΉμ§μ κΈ°κ°μλ μκ° μ’ λ₯ 0λ²μ΄ μ°κ³λλ€.
λ²μ 3 νμμ μκ°λ νμΌμμλ newtzset(3)
μμ κΈ°μ νλ POSIX TZ νμμ λν λ κ°μ§ μκ·λͺ¨ νμ₯μ κ·Έ POSIX TZ μ€νμΌ λ¬Έμμ΄μμ μΈ μ μλ€. 첫째λ‘, μ ν μκ°μ μκ° λΆλΆμ΄ POSIXμμ μꡬνλ 0μμ 24κΉμ§μ λΆνΈ μλ κ°μ΄ μλλΌ -167μμ 167κΉμ§ λ²μμ λΆνΈ μλ κ°μΌ μ μλ€. λμ§Έλ‘, DSTκ° 1μ 1μΌ 00:00μ μμν΄μ 12μ 31μΌ 24:00μ μΌκ΄ μ μ½ μκ°κ³Ό νμ€μ μ°¨μ΄λ₯Ό λν λμ λλλ κ²½μ°μλ DSTκ° μ°μ€ λ΄λ΄ ν¨λ ₯μ΄ μλ€.
ν₯ν νμμ΄ λ°λλ©΄μ λ λ§μ λ°μ΄ν°κ° λ§λΆμ μ μλ€.
time(2), localtime(3), tzset(3), tzselect(8)
, zdump(8)
, zic(8)
2019-03-06