Provided by: manpages-ja-dev_0.5.0.0.20180315+dfsg-1_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 環境変数が設定されていない場合には、 システムのタイムゾーンが使用される。 ステムのタイムゾーンを設定す
       るには、  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/ に書かれている。

                                                   2015-01-30                                           TZSET(3)