pytho****@googl*****
pytho****@googl*****
2011年 11月 22日 (火) 01:42:12 JST
Revision: 1bc286dbe140 Author: Naoki INADA <inada****@klab*****> Date: Mon Nov 21 08:41:47 2011 Log: Update 2.7.2: library/time http://code.google.com/p/python-doc-ja/source/detail?r=1bc286dbe140 Modified: /library/time.rst ======================================= --- /library/time.rst Sat Apr 16 17:12:19 2011 +++ /library/time.rst Mon Nov 21 08:41:47 2011 @@ -15,23 +15,22 @@ まずいくつかの用語の説明と慣習について整理します。 - .. index:: single: epoch +.. index:: single: epoch * :dfn:`エポック` (:dfn:`epoch`) は、時刻の計測がはじまった時点のことです。 その年の 1 月 1 日の午前 0 時に "エポックからの経過時間" が 0 になるように設定されます。Unixではエポック は 1970 年です。エポックがどうなっているかを知るには、 ``gmtime(0)`` の値を見るとよいでしょう。 -.. todo:: - ``:dfn:`` の動作を確認する。 - - .. index:: single: Year 2038 +.. index:: single: Year 2038 * このモジュールの中の関数は、エポック以前あるいは遠い未来の日付や時刻を扱 うことができません。将来カットオフ(関数が正しく日付や時刻を扱えなく なる)が起きる時点は、C ライブラリによって決まります。 Unixではカットオフ は通常 2038 です。 - .. index:: - single: Year 2000 - single: Y2K +.. index:: + single: Year 2000 + single: Y2K + +.. _time-y2kissues: * **2000年問題 (Y2K)**: Python はプラットフォームの C ライブラリに依存して います。C ライブラリは日付および時刻をエポックからの経過秒で表現するので、一般的に 2000 年問題を持ちません。 @@ -45,15 +44,15 @@ から新たに追加された機能であることに注意してください; それ以前のバージョ ン、すなわち Python 1.5.1 および 1.5.2a1 では、1900 以下の年に対して 1900 を足します。 - .. index:: - single: UTC - single: Coordinated Universal Time - single: Greenwich Mean Time +.. index:: + single: UTC + single: Coordinated Universal Time + single: Greenwich Mean Time * UTC は協定世界時 (Coordinated Universal Time) のことです (以前はグリニ ッジ標準時 または GMTとして知られていました)。 UTC の頭文字の並びは誤りではなく、英仏の妥協 によるものです。 - .. index:: single: Daylight Saving Time +.. index:: single: Daylight Saving Time * DST は夏時間 (Daylight Saving Time) のことで、一年のうち部分的に 1 時間 タイムゾーンを修正することです。DST のルールは不可思議で (局所的な法律で定められています)、年ごとに変わること もあります。 C ライブラリはローカルルールを記したテーブルを持っており @@ -66,39 +65,12 @@ :func:`time` は可能なかぎり最も正確な時刻を (Unix の :c:func:`gettimeofday` があればそれを使って) 返します。また :func:`sleep` にはゼロでない端数を与えることができます (Unix の :c:func:`select` があれば、それを使って実装しています)。 -* :func:`gmtime` 、 :func:`localtime` 、 :func:`strptime` が返す時刻値、お よび - :func:`asctime` 、 :func:`mktime` 、 :func:`strftime` に与える時刻値はど ちらも 9 つの整数からなる +* :func:`gmtime`, :func:`localtime`, :func:`strptime` が返す時刻値、および + :func:`asctime`, :func:`mktime`, :func:`strftime` に与える時刻値はどちら も 9 つの整数からなる シーケンスです。 :func:`gmtime`, :func:`localtime`, :func:`strptime` の戻り値は属性名でア クセスすることもできます。 - +-------+------------------+----------------------------------------+ - | Index | Attribute | Values | - +=======+==================+========================================+ - | 0 | :attr:`tm_year` | (例えば 1993) | - +-------+------------------+----------------------------------------+ - | 1 | :attr:`tm_mon` | [1,12] の間の数 | - +-------+------------------+----------------------------------------+ - | 2 | :attr:`tm_mday` | [1,31] の間の数 | - +-------+------------------+----------------------------------------+ - | 3 | :attr:`tm_hour` | [0,23] の間の数 | - +-------+------------------+----------------------------------------+ - | 4 | :attr:`tm_min` | [0,59] の間の数 | - +-------+------------------+----------------------------------------+ - | 5 | :attr:`tm_sec` | [0,61] の間の数 :func:`strftime` | - | | | の説明にある **(1)** を読んで下さい | - +-------+------------------+----------------------------------------+ - | 6 | :attr:`tm_wday` | [0,6] の間の数、月曜が 0 になります | - +-------+------------------+----------------------------------------+ - | 7 | :attr:`tm_yday` | [1,366] の間の数 | - +-------+------------------+----------------------------------------+ - | 8 | :attr:`tm_isdst` | 0, 1 または -1; 以下を参照してください | - +-------+------------------+----------------------------------------+ - - C の構造体と違って、月の値が 0-11 でなく 1-12 であることに注意してくださ い。西暦年の値は上の "2000年問題 (Y2K) " - で述べたように扱われます。夏時間フラグを ``-1`` にして :func:`mktime` に 渡すと、たいていは正確な夏時間の状態を実現します。 - - :class:`struct_time` を引数とする関数に正しくない長さ の :class:`struct_time` や - 要素の型が正しくない :class:`struct_time` を与えた場合に は、 :exc:`TypeError` が送出されます。 + これらのオブジェクトについての解説は :class:`struct_time` を参照してくだ さい。 .. versionchanged:: 2.2 時刻値の配列はタプルから :class:`struct_time` に変更され、それぞれのフ ィールドに属性名がつけられました。 @@ -358,12 +330,44 @@ ディレクティブ以外は利用できないかもしれません。 -.. data:: struct_time - - :func:`gmtime` 、 :func:`localtime` および :func:`strptime` が返す時刻値 シーケンスのタイプです。 +.. class:: struct_time + + :func:`gmtime`, :func:`localtime` および :func:`strptime` が返す時刻値 シーケンスのタイプです。 + これは名前付きタプル(:term:`named tuple`)のインタフェースをもったオブジ ェクトです。 + 値はインデックスでも属性名でもアクセス可能です。以下の値があります。 + + +-------+------------------+----------------------------------------+ + | Index | Attribute | Values | + +=======+==================+========================================+ + | 0 | :attr:`tm_year` | (例えば 1993) | + +-------+------------------+----------------------------------------+ + | 1 | :attr:`tm_mon` | [1,12] の間の数 | + +-------+------------------+----------------------------------------+ + | 2 | :attr:`tm_mday` | [1,31] の間の数 | + +-------+------------------+----------------------------------------+ + | 3 | :attr:`tm_hour` | [0,23] の間の数 | + +-------+------------------+----------------------------------------+ + | 4 | :attr:`tm_min` | [0,59] の間の数 | + +-------+------------------+----------------------------------------+ + | 5 | :attr:`tm_sec` | [0,61] の間の数 :func:`strftime` | + | | | の説明にある **(1)** を読んで下さい | + +-------+------------------+----------------------------------------+ + | 6 | :attr:`tm_wday` | [0,6] の間の数、月曜が 0 になります | + +-------+------------------+----------------------------------------+ + | 7 | :attr:`tm_yday` | [1,366] の間の数 | + +-------+------------------+----------------------------------------+ + | 8 | :attr:`tm_isdst` | 0, 1 または -1; 以下を参照してください | + +-------+------------------+----------------------------------------+ .. versionadded:: 2.2 + C の構造体と違って、月の値が 0-11 でなく 1-12 であることに注意してくださ い。 + 西暦年の値は上の :ref:`2000年問題 (Y2K) <time-y2kissues>` で述べたように 扱われます。 + 夏時間フラグを ``-1`` にして :func:`mktime` に渡すと、たいていは正確な夏 時間の状態を実現します。 + + :class:`struct_time` を引数とする関数に正しくない長さ の :class:`struct_time` や + 要素の型が正しくない :class:`struct_time` を与えた場合に は、 :exc:`TypeError` が送出されます。 + .. function:: time()