Provided by: manpages-ja-dev_0.5.0.0.20131015+dfsg-2_all bug

名前

       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  環境変数が設定されていない場合には、  tzname  変数はローカルな壁時計時刻  (wall  clock
       time)  に  最も近い値に初期化される。  このローカルな壁時計時刻としては、 システムのタイム
       ゾーンディレクトリ (後述) にある tzfile(5) 形式のファイル localtime で指定されている値が用
       いられる。  (この際には /etc/localtime もよく用いられる。 これはシステムのタイムゾーンディ
       レクトリにある 適切なファイルへのシンボリックリンクになっている。)

       TZ 環境変数が存在しているが、その値が空だったり、 以下に示す形式のどれにもあてはまらない場
       合は、 協定世界時 (Coordinated Universal Time: UTC) が用いられる。

       TZ    の値は以下の   3   つの形式のいずれかを取ることができる。   最初の形式はサマータイム
       (daylight saving time) を持たないローカルタイムゾーンに対して用いる。

              std offset

       std 文字列はタイムゾーンの名前を指定する。 アルファベットからなる 3 文字以上の文字列でなけ
       ればならない。 offset 文字列は std の直後に続き、 協定世界時 (UTC) を得るために ローカルな
       時刻に加えなければならない時間を指定する。 offset は、ローカルタイムゾーンがグリニッジ子午
       線  (Prime Meridian)  の西なら正の値、東なら負の値を取る。 時間 (hour) は 0 から 24 の間で
       なければならない。 分 (minute) と秒 (second) は 0 から 59 の間でなければならない。

       2 番目の形式はサマータイムがある場合に用いられる。

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

       指定にはスペースを含めてはならない。 先頭の stdoffset は 1 番目の形式と同じで、 標準の
       タイムゾーンを指定する。  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"

       3 番目の形式は、タイムゾーンの情報をファイルから読み込むように指定する。

              :[filespec]

       ファイルの指定 filespec が省略された場合は、  タイムゾーンの情報はシステムタイムゾーンディ
       レクトリの localtime ファイルから読まれる。 最近ではシステムタイムゾーンディレクトリは普通
       /usr/share/zoneinfo/localtime  である。  このファイルは  tzfile(5)    形式で書かれている。
       filespec が与えられた場合は、 タイムゾーンの情報をそのファイルから読み込む。このファイルも
       tzfile(5)  形式で書かれている必要がある。 filespec が '/' で始まらなかった場合には、  シス
       テムタイムゾーンディレクトリからの相対パスで ファイルが指定されたことになる。

       例を挙げておく。もう一度ニュージーランドの例である。

           TZ=":Pacific/Auckland"

ファイル

       用いられるシステムタイムゾーンディレクトリは  (g)libc  のバージョンに依存する。  libc4  と
       libc5  は  /usr/lib/zoneinfo   を用いる。libc-5.4.6   以降では、これが使えなかった場合には
       /usr/share/zoneinfo  を使おうとする。 glibc2 では環境変数 TZDIR が存在すればそれを用いる。
       このデフォルトはどのようにインストールされたかによるが、 普通は  /usr/share/zoneinfo  であ
       る。

       このタイムゾーンディレクトリには以下のファイルが含まれる。
       localtime      ローカルタイムゾーンのファイル
       posixrules     POSIX 式の TZ 書式ルール

       /etc/localtime  は、 localtime ファイルや、 システムのタイムゾーンディレクトリ中の適切なタ
       イムゾーンファイルへの シンボリックリンクであることが多い。

準拠

       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.54 の一部  である。プロジェクト
       の説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。

                                            2012-03-25                                   TZSET(3)