名 前
tzset, tzname, timezone, daylight − 時 刻 の 変 換 情 報 を 初 期 化 す る
書 式
#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 >= 1 || _XOPEN_SOURCE ||
_POSIX_SOURCE
tzname: _POSIX_C_SOURCE >= 1 ||
_XOPEN_SOURCE || _POSIX_SOURCE
timezone: _SVID_SOURCE || _XOPEN_SOURCE
daylight: _SVID_SOURCE || _XOPEN_SOURCE
説 明
tzset() 関 数 は TZ 環 境 変 数 を 用 い て tzname 変 数 を 初 期 化 す る 。 こ の 関 数 は 、 タ イ ム ゾ ー ン に 依 存 す る 他 の 時 刻 変 換 関 数 か ら 自 動 的 に 呼 び 出 さ れ る 。 System V 的 な 環 境 で は 、 こ の 関 数 は 変 数 timezone (UTC か ら の 西 向 き の 秒 数 ) と daylight (こ の タ イ ム ゾ ー ン に サ マ ー タ イ ム に 関 す る ル ー ル が な け れ ば 0、 サ マ ー タ イ ム 期 間 が 一 年 の ど こ か に あ れ ば 0 以 外 ) も 設 定 す る 。
TZ 環 境 変 数 が 設 定 さ れ て い な い 場 合 に は 、 シ ス テ ム の タ イ ム ゾ ー ン が 使 用 さ れ る 。 ス テ ム の タ イ ム ゾ ー ン を 設 定 す る に は 、 tzfile(5) 形 式 の フ ァ イ ル を /etc/localtime に コ ピ ー し た り リ ン ク し た り す る 。 こ れ ら の フ ァ イ ル が あ る タ イ ム ゾ ー ン デ ー タ ベ ー ス は シ ス テ ム の タ イ ム ゾ ー ン デ ィ レ ク ト リ (フ ァ イ ル の 節 を 参 照 ) に 置 か れ て い る 。
TZ 環 境 変 数 が 存 在 し て い る が 、 そ の 値 が 空 だ っ た り 、 以 下 に 示 す 形 式 の ど れ に も あ て は ま ら な い 場 合 は 、 協 定 世 界 時 (Coordinated Universal Time: UTC) が 用 い ら れ る 。
TZ の 値 は 以 下 の 2 つ の 形 式 の い ず れ か を 取 る こ と が で き る 。 最 初 の 形 式 は 、 使 用 す る タ イ ム ゾ ー ン を 表 す 文 字 列 を 直 接 指 定 す る 方 法 で あ る 。
std offset dst[offset][,start[/time],end[/time]] こ の 指 定 方 法 で は ス ペ ー ス は 一 切 使 用 し な い 。 std 文 字 列 は タ イ ム ゾ ー ン の 名 前 を 指 定 す る 。 ア ル フ ァ ベ ッ ト か ら な る 3 文 字 以 上 の 文 字 列 で な け れ ば な ら な い 。 offset 文 字 列 は std の 直 後 に 続 き 、 協 定 世 界 時 (UTC) を 得 る た め に ロ ー カ ル な 時 刻 に 加 え な け れ ば な ら な い 時 間 を 指 定 す る 。 offset は 、 ロ ー カ ル タ イ ム ゾ ー ン が グ リ ニ ッ ジ 子 午 線 (Prime Meridian) の 西 な ら 正 の 値 、 東 な ら 負 の 値 を 取 る 。 時 間 (hour) は 0 か ら 24 の 間 で な け れ ば な ら な い 。 分 (minute) と 秒 (second) は 0 か ら 59 の 間 で な け れ ば な ら な い 。
dst 文 字 列 と offset は 、 対 応 す る サ マ ー タ イ ム ゾ ー ン の 名 前 と オ フ セ ッ ト を 指 定 す る 。 オ フ セ ッ ト が 省 略 さ れ る と 、 デ フ ォ ル ト で は 標 準 の 一 時 間 前 と な る 。
start フ ィ ー ル ド は サ マ ー タ イ ム が 有 効 に な る 時 刻 、 end フ ィ ー ル ド は 標 準 に 戻 る 時 刻 で あ る 。 こ れ ら の フ ィ ー ル ド は 以 下 の 形 式 で 指 定 す る 。
Jn 年 の 通 日 |
(Julian day) で 日 に ち を 指 定 す る 。 n は 1 か ら 365 の 間 |
の 数 値 。 閏 日 は 計 算 に 入 ら な い 。 こ の 形 式 で は 、 2 月 29 日 を 表 現 す る こ と は で き ず 、 2 月 28 日 が 第 59 日 で 、 3 月 1 日 が 常 に 第 60 日 と な る 。
n 年 の 通 日 |
(Julian day) で 日 に ち を 指 定 す る 。 n は 1 か ら 365 の 間 |
の 数 値 。 閏 年 の 場 合 も 、 2 月 29 日 も 日 に ち の 計 算 に 含 め ら れ る 。
Mm.w.d |
m は 月 (1 <= m <= 12) を 、 w は 月 の う ち の 週 (1 <= w <= 5) を 、 d は 週 の う ち の 日 に ち (0 <= d <= 6) を 示 す 。 w = 1 は 所 属 す る d が 存 在 す る 最 初 の 週 、 w = 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"
2 番 目 の 形 式 は 、 タ イ ム ゾ ー ン の 情 報 を フ ァ イ ル か ら 読 み 込 む よ う に 指 定 す る 。 :[filespec] フ ァ イ ル の 指 定 filespec が 省 略 さ れ た 場 合 、 も し く は 指 定 さ れ た 値 が 解 釈 で き な い 場 合 、 協 定 標 準 時 (UTC; Coordinated Universal Time) が 使 用 さ れ る 。 指 定 さ れ た 場 合 、 filespec は タ イ ム ゾ ー ン 情 報 を 読 み 出 す tzfile(5) 形 式 の フ ァ イ ル を 指 定 す る 。 filespec が '/' で 始 ま っ て い な い 場 合 に は 、 シ ス テ ム タ イ ム ゾ ー ン デ ィ レ ク ト リ か ら の 相 対 パ ス で フ ァ イ ル が 指 定 さ れ た こ と に な る 。 コ ロ ン が 省 略 さ れ た 場 合 に は 、 上 記 の TZ の 各 形 式 で の 解 釈 を 試 み る 。 例 を 挙 げ て お く 。 も う 一 度 ニ ュ ー ジ ー ラ ン ド の 例 で あ る 。
TZ=":Pacific/Auckland"
環 境 変 数
TZ こ の 変 数 が 設 定 さ れ た 場 合 、 そ の 値 が シ ス テ ム で 設 定 さ れ た タ イ ム ゾ ー ン よ り 優 先 し て 使 用 さ れ る 。 | |
TZDIR こ の 変 数 が 設 定 さ れ た 場 合 、 そ の 値 が シ ス テ ム で 設 定 さ れ た タ イ ム ゾ ー ン デ ー タ ベ ー ス の デ ィ レ ク ト リ パ ス よ り 優 先 し て 使 用 さ れ る 。 |
フ ァ イ ル
/etc/localtime
シ ス テ ム の タ
イ ム ゾ ー ン フ
ァ イ ル 。
/usr/share/zoneinfo/ シ ス テ ム
の タ イ ム ゾ ー
ン デ ー タ ベ ー
ス の デ ィ レ ク
ト リ 。
/usr/share/zoneinfo/posixrules
TZ 文 字 列 で dst タ イ ム ゾ ー ン が 他 に 何 の 指 定 な し で 単 独 で 指 定 さ れ た 場 合 、 こ の フ ァ イ ル が start/end の ル ー ル に 使 用 さ れ る 。 こ の フ ァ イ ル は tzfile(5) 形 式 で あ る 。 デ フ ォ ル ト で は 、 ゾ ー ン 情 報 の Makefile で こ の フ ァ イ ル は America/New_York に ハ ー ド リ ン ク さ れ る 。 上 記 は 現 在 の 標 準 の フ ァ イ ル の 場 所 だ が 、 glibc の コ ン パ イ ル 時 に 変 更 で き る 。
準 拠
SVr4, POSIX.1−2001, 4.3BSD.
注 意
daylight 変 数 は 、 現 在 が サ マ ー タ イ ム で あ る か ど う か を 示 し て い る の で は な い 。 こ れ は い く つ か あ る ア ル ゴ リ ズ ム の う ち の 番 号 を 与 え る (ア ル ゴ リ ズ ム に つ い て は gettimeofday(2) の tz_dsttime 変 数 を 見 よ )。 こ れ は も う 何 年 も 使 わ れ て い な い が 、 SUSv2 で は 必 要 と さ れ て い る 。
4.3BSD に は char *timezone(zone, dst) と い う ル ー チ ン が あ り 、 こ れ は 最 初 の 引 数 (UTC か ら の 西 向 き の 分 数 ) に 対 応 す る タ イ ム ゾ ー ン の 名 前 を 返 す 。 二 番 目 の 引 数 が 0 の 場 合 は 標 準 の 名 前 が 用 い ら れ 、 そ れ 以 外 は サ マ ー タ イ ム 版 の 名 前 が 用 い ら れ る 。
関 連 項 目
date(1), gettimeofday(2), time(2), ctime(3), getenv(3), tzfile(5)
こ の 文 書 に つ い て
こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。