時間—時間アクセスと変換—Pythonドキュメント

提供:Dev Guides
< PythonPython/docs/3.9/library/time
移動先:案内検索

time —時間アクセスと変換


このモジュールは、さまざまな時間関連の機能を提供します。 関連する機能については、 datetime および calendar モジュールも参照してください。

このモジュールは常に利用可能ですが、すべての機能がすべてのプラットフォームで利用できるわけではありません。 このモジュールで定義されている関数のほとんどは、同じ名前のプラットフォームCライブラリ関数を呼び出します。 これらの関数のセマンティクスはプラットフォームによって異なるため、プラットフォームのドキュメントを参照すると役立つ場合があります。

いくつかの用語と規則の説明が整いました。

  • エポックは時間が始まるポイントであり、プラットフォームに依存します。 Unixの場合、エポックは1970年1月1日00:00:00(UTC)です。 特定のプラットフォームでのエポックを確認するには、time.gmtime(0)を参照してください。
  • エポックからという用語は、エポックからの経過秒数の合計を指し、通常はうるう秒を除きます。 うるう秒は、すべてのPOSIX準拠プラットフォームでこの合計から除外されます。
  • このモジュールの関数は、エポックより前または遠い将来の日付と時刻を処理しない可能性があります。 将来のカットオフポイントは、Cライブラリによって決定されます。 32ビットシステムの場合、通常は2038年です。
  • 関数 strptime()は、%y形式のコードを指定すると、2桁の年を解析できます。 2桁の年が解析されると、POSIXおよびISO C標準に従って変換されます。値69〜99は1969〜1999にマップされ、値0〜68は2000〜2068にマップされます。
  • UTCは協定世界時(以前はグリニッジ標準時、またはGMTと呼ばれていました)です。 頭字語UTCは間違いではなく、英語とフランス語の間の妥協点です。
  • DSTは夏時間であり、1年の一部で(通常は)1時間タイムゾーンを調整します。 DSTルールは魔法であり(現地の法律によって決定されます)、年ごとに変わる可能性があります。 Cライブラリには、ローカルルールを含むテーブルがあり(多くの場合、柔軟性のためにシステムファイルから読み取られます)、この点でTrueWisdomの唯一のソースです。

  • さまざまなリアルタイム関数の精度は、それらの値または引数が表現される単位によって示唆されるよりも低い場合があります。 例えば ほとんどのUnixシステムでは、時計は1秒間に50回または100回しか「刻み」ません。

  • 一方、 time()および sleep()の精度は、同等のUnixよりも優れています。時間は浮動小数点数 time()[X169X ]は利用可能な最も正確な時間を返し(利用可能な場合はUnix gettimeofday()を使用)、 sleep()はゼロ以外の分数の時間を受け入れます(Unix select()は実装に使用されます)これ、利用可能な場合)。

  • gmtime()localtime()、および strptime()によって返され、 asctime()によって受け入れられる時間値。 mktime()および strftime()は、9つの整数のシーケンスです。 gmtime()localtime()、および strptime()の戻り値も、個々のフィールドの属性名を提供します。

    これらのオブジェクトの説明については、 struct_time を参照してください。

    バージョン3.3で変更: struct_time タイプが拡張され、プラットフォームが対応するstruct tmメンバーをサポートするときにtm_gmtoffおよびtm_zone属性を提供するようになりました。

    バージョン3.6での変更: struct_time 属性tm_gmtoffおよびtm_zoneがすべてのプラットフォームで使用できるようになりました。

  • 次の関数を使用して、時間表現を変換します。

    から

    使用

    エポックからの秒数

    UTCの struct_time

    gmtime()

    エポックからの秒数

    現地時間の struct_time

    localtime()

    UTCの struct_time

    エポックからの秒数

    calendar.timegm()

    現地時間の struct_time

    エポックからの秒数

    mktime()

関数

time.asctime([t])

gmtime()または localtime()によって返される時間を表すタプルまたは struct_time を、次の形式の文字列に変換します:'Sun Jun 20 23:21:05 1993' 。 日フィールドは2文字の長さで、日が1桁の場合はスペースが埋め込まれます(例:'Wed Jun  9 04:26:40 1993')。

t が指定されていない場合、 localtime()によって返される現在の時刻が使用されます。 ロケール情報は asctime()では使用されません。

ノート

同じ名前のC関数とは異なり、 asctime()は末尾に改行を追加しません。

time.pthread_getcpuclockid(thread_id)

指定された thread_id のスレッド固有のCPUタイムクロックの clk_id を返します。

threading.get_ident()または threading.Thread オブジェクトの ident 属性を使用して、 thread_id の適切な値を取得します。

警告

無効または期限切れの thread_id を渡すと、セグメンテーション違反などの未定義の動作が発生する可能性があります。

バージョン3.7の新機能。

time.clock_getres(clk_id)

指定されたクロック clk_id の分解能(精度)を返します。 clk_id で受け入れられる値のリストについては、クロックID定数を参照してください。

バージョン3.3の新機能。

time.clock_gettime(clk_id) float

指定された時計 clk_id の時刻を返します。 clk_id で受け入れられる値のリストについては、クロックID定数を参照してください。

バージョン3.3の新機能。

time.clock_gettime_ns(clk_id) int

clock_gettime()に似ていますが、戻り時間はナノ秒です。

バージョン3.7の新機能。

time.clock_settime(clk_id, time: float)

指定した時計 clk_id の時刻を設定します。 現在、 CLOCK_REALTIMEclk_id で受け入れられる唯一の値です。

バージョン3.3の新機能。

time.clock_settime_ns(clk_id, time: int)

clock_settime()に似ていますが、時間をナノ秒で設定します。

バージョン3.7の新機能。

time.ctime([secs])

エポックからの秒数で表される時間を、現地時間を表す'Sun Jun 20 23:21:05 1993'という形式の文字列に変換します。 日フィールドは2文字の長さで、日が1桁の場合はスペースが埋め込まれます(例:'Wed Jun  9 04:26:40 1993')。

secs が指定されていない場合、または None の場合、 time()によって返される現在の時刻が使用されます。 ctime(secs)asctime(localtime(secs))と同等です。 ロケール情報は ctime()では使用されません。

time.get_clock_info(name)

名前空間オブジェクトとして、指定された時計に関する情報を取得します。 サポートされているクロック名と、それらの値を読み取るための対応する関数は次のとおりです。

結果には次の属性があります。

  • 調整可能True時計を自動的に変更できる場合(例: NTPデーモンによる)またはシステム管理者による手動、それ以外の場合はFalse

  • 実装:クロック値を取得するために使用される基になるC関数の名前。 可能な値については、クロックID定数を参照してください。

  • 単調True時計が逆戻りできない場合、Falseそれ以外の場合

  • 解像度:秒単位の時計の解像度(フロート

バージョン3.3の新機能。

time.gmtime([secs])
エポックからの秒数で表される時間をUTCの struct_time に変換します。この場合、dstフラグは常にゼロです。 secs が指定されていない場合、または None の場合、 time()によって返される現在の時刻が使用されます。 1秒の端数は無視されます。 struct_time オブジェクトの説明については、上記を参照してください。 この関数の逆関数については、 calendar.timegm()を参照してください。
time.localtime([secs])
gmtime()と同様ですが、現地時間に変換されます。 secs が指定されていない場合、または None の場合、 time()によって返される現在の時刻が使用されます。 DSTが指定された時間に適用されると、dstフラグは1に設定されます。
time.mktime(t)
これは localtime()の逆関数です。 その引数は、 struct_time または完全な9タプル(dstフラグが必要なため、不明な場合は-1をdstフラグとして使用)であり、 local [で時間を表します。 X173X]時間、UTCではありません。 time()との互換性のために、浮動小数点数を返します。 入力値を有効な時間として表すことができない場合、 OverflowError または ValueError のいずれかが発生します(これは、無効な値がPythonまたは基盤となるCライブラリによってキャッチされるかどうかによって異なります)。 時間を生成できる最も早い日付は、プラットフォームによって異なります。
time.monotonic() float

単調な時計の値(秒単位)を返します。 後戻りできない時計。 クロックは、システムクロックの更新の影響を受けません。 戻り値の参照ポイントは未定義であるため、2つの呼び出しの結果の差のみが有効です。

バージョン3.3の新機能。

バージョン3.5で変更:この機能は常に利用可能で、常にシステム全体で利用できるようになりました。

time.monotonic_ns() int

monotonic()に似ていますが、戻り時間はナノ秒です。

バージョン3.7の新機能。

time.perf_counter() float

パフォーマンスカウンターの値(秒単位)を返します。 短時間を測定するために利用可能な最高の解像度を持つ時計。 これには、スリープ中に経過した時間が含まれ、システム全体に適用されます。 戻り値の参照ポイントは未定義であるため、2つの呼び出しの結果の差のみが有効です。

バージョン3.3の新機能。

time.perf_counter_ns() int

perf_counter()に似ていますが、戻り時間はナノ秒です。

バージョン3.7の新機能。

time.process_time() float

現在のプロセスのシステム時間とユーザーCPU時間の合計の値(秒単位)を返します。 睡眠中の経過時間は含まれていません。 定義上、プロセス全体です。 戻り値の参照ポイントは未定義であるため、2つの呼び出しの結果の差のみが有効です。

バージョン3.3の新機能。

time.process_time_ns() int

process_time()に似ていますが、時間をナノ秒単位で返します。

バージョン3.7の新機能。

time.sleep(secs)

指定された秒数の間、呼び出し元のスレッドの実行を一時停止します。 引数は、より正確なスリープ時間を示すための浮動小数点数である場合があります。 キャッチされたシグナルは、そのシグナルのキャッチルーチンの実行後に sleep()を終了するため、実際の一時停止時間は要求された時間よりも短い場合があります。 また、システム内の他のアクティビティのスケジュールが原因で、一時停止時間が任意の量だけ要求されるよりも長くなる場合があります。

バージョン3.5で変更:シグナルハンドラーが例外を発生させた場合を除き、シグナルによってスリープが中断された場合でも、関数は少なくともスリープするようになりました( を参照)。 PEP 475 の根拠)。

time.strftime(format[, t])

gmtime()または localtime()によって返される時間を表すタプルまたは struct_time を、 format で指定された文字列に変換します。口論。 t が指定されていない場合、 localtime()によって返される現在の時刻が使用されます。 format は文字列である必要があります。 t のいずれかのフィールドが許容範囲外の場合、 ValueError が発生します。

0は、タイムタプル内の任意の位置に対する正当な引数です。 通常は違法である場合、値は強制的に正しい値になります。

次のディレクティブは、 format 文字列に埋め込むことができます。 これらは、オプションのフィールド幅と精度の指定なしで表示され、 strftime()の結果で示された文字に置き換えられます。

指令

意味

ノート

%a

ロケールの省略された平日の名前。

%A

ロケールの完全な平日の名前。

%b

ロケールの省略された月の名前。

%B

ロケールの完全な月の名前。

%c

ロケールの適切な日付と時刻の表現。

%d

10進数としての月の日[01,31]。

%H

10進数としての時間(24時間制)[00,23]。

%I

10進数としての時間(12時間制)[01,12]。

%j

10進数としての年の日[001,366]。

%m

10進数としての月[01,12]。

%M

10進数としての分[00,59]。

%p

ロケールのAMまたはPMに相当します。

(1)

%S

10進数として2番目[00,61]。

(2)

%U

10進数としての年の週番号(週の最初の日としての日曜日)[00,53]。 最初の日曜日に先行する新年のすべての日は、第0週と見なされます。

(3)

%w

10進数としての平日[0(日曜日)、6]。

%W

10進数としての年の週番号(週の最初の日としての月曜日)[00,53]。 最初の月曜日より前の新年のすべての日は、第0週と見なされます。

(3)

%x

ロケールの適切な日付表現。

%X

ロケールの適切な時間表現。

%y

10進数としての世紀のない年[00,99]。

%Y

10進数として世紀を持つ年。

%z

+ HHMMまたは-HHMMの形式のUTC / GMTからの正または負の時間差を示すタイムゾーンオフセット。ここで、Hは10進数の時間桁を表し、Mは10進数の分桁を表します[-23:59、+ 23:59]。

%Z

タイムゾーン名(タイムゾーンが存在しない場合は文字なし)。

%%

リテラル'%'文字。

ノート:

  1. strptime()関数と一緒に使用すると、%pディレクティブは、%Iディレクティブを使用して時間を解析する場合にのみ、出力時間フィールドに影響します。

  2. 範囲は実際には0から61です。 値60は、うるう秒を表すタイムスタンプで有効であり、値61は履歴上の理由でサポートされています。

  3. strptime()関数とともに使用する場合、%Uおよび%Wは、曜日と年が指定されている場合の計算でのみ使用されます。

これは、 RFC 2822 インターネット電子メール標準で指定されている日付と互換性のある日付の形式の例です。 1

>>> from time import gmtime, strftime
>>> strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime())
'Thu, 28 Jun 2001 14:17:15 +0000'

特定のプラットフォームでは追加のディレクティブがサポートされている場合がありますが、ここにリストされているものだけがANSICによって標準化された意味を持っています。 ご使用のプラットフォームでサポートされているフォーマットコードの完全なセットを確認するには、 strftime(3)のドキュメントを参照してください。

一部のプラットフォームでは、オプションのフィールド幅と精度の指定により、ディレクティブの最初の'%'の直後に次の順序で続くことができます。 これも持ち運びできません。 %jが3である場合を除いて、フィールド幅は通常2です。

time.strptime(string[, format])

形式に従って時間を表す文字列を解析します。 戻り値は、 gmtime()または localtime()によって返される struct_time です。

format パラメーターは、 strftime()で使用されるものと同じディレクティブを使用します。 デフォルトは"%a %b %d %H:%M:%S %Y"で、 ctime()によって返されるフォーマットと一致します。 stringformat に従って解析できない場合、または解析後に過剰なデータがある場合、 ValueError が発生します。 より正確な値を推測できない場合に欠落データを埋めるために使用されるデフォルト値は、(1900, 1, 1, 0, 0, 0, 0, 1, -1)です。 stringformat はどちらも文字列である必要があります。

例えば:

>>> import time
>>> time.strptime("30 Nov 00", "%d %b %y")   
time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0,
                 tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)

%Zディレクティブのサポートは、tznameに含まれる値と、daylightがtrueであるかどうかに基づいています。 このため、常に既知である(そして、夏時間以外のタイムゾーンと見なされる)UTCとGMTを認識することを除いて、プラットフォーム固有です。

ドキュメントで指定されているディレクティブのみがサポートされています。 strftime()はプラットフォームごとに実装されているため、リストされているものよりも多くのディレクティブを提供できる場合があります。 ただし、strptime()はどのプラットフォームからも独立しているため、サポートされていると文書化されていない利用可能なすべてのディレクティブを必ずしもサポートしているわけではありません。

class time.struct_time

gmtime()localtime()、および strptime()によって返される時間値シーケンスのタイプ。 これは、名前付きタプルインターフェースを持つオブジェクトです。値には、インデックスおよび属性名でアクセスできます。 次の値があります。

索引

属性

0

tm_year

(たとえば、1993年)

1

tm_mon

範囲[1、12]

2

tm_mday

範囲[1、31]

3

tm_hour

範囲[0、23]

4

tm_min

範囲[0、59]

5

tm_sec

範囲[0、61]; strftime()の説明の(2)を参照してください

6

tm_wday

範囲[0、6]、月曜日は0

7

tm_yday

範囲[1、366]

8

tm_isdst

0、1、または-1; 下記参照

該当なし

tm_zone

タイムゾーン名の略語

該当なし

tm_gmtoff

UTCの東のオフセット(秒単位)

C構造体とは異なり、月の値は[0、11]ではなく[1、12]の範囲であることに注意してください。

mktime()の呼び出しでは、tm_isdstは、夏時間が有効な場合は1に設定され、有効でない場合は0に設定される場合があります。 値-1は、これが不明であることを示し、通常、正しい状態が入力されます。

struct_time を予期している関数、または間違ったタイプの要素を持つ関数に、長さが正しくないタプルが渡されると、 TypeError が発生します。

time.time() float

エポックからの時間を浮動小数点数として返します。 エポックの特定の日付とうるう秒の処理は、プラットフォームによって異なります。 WindowsおよびほとんどのUnixシステムでは、エポックは1970年1月1日00:00:00(UTC)であり、うるう秒はエポックからの秒単位の時間にはカウントされません。 これは一般に Unix時間と呼ばれます。 特定のプラットフォームでのエポックを確認するには、gmtime(0)を参照してください。

時刻は常に浮動小数点数として返されますが、すべてのシステムが1秒よりも高い精度で時刻を提供するわけではないことに注意してください。 この関数は通常、減少しない値を返しますが、システムクロックが2つの呼び出しの間に戻されている場合は、前の呼び出しよりも低い値を返すことがあります。

time()によって返される数値は、より一般的な時間形式に変換される場合があります(つまり、 年、月、日、時間など)をUTCで gmtime()関数に渡すか、現地時間で localtime()関数に渡します。 どちらの場合も、 struct_time オブジェクトが返され、そこからカレンダー日付のコンポーネントに属性としてアクセスできます。

time.thread_time() float

現在のスレッドのシステム時間とユーザーCPU時間の合計の値(秒単位)を返します。 睡眠中の経過時間は含まれていません。 定義上、スレッド固有です。 戻り値の参照ポイントは未定義であるため、同じスレッドでの2つの呼び出しの結果の差のみが有効です。

バージョン3.7の新機能。

time.thread_time_ns() int

thread_time()に似ていますが、時間をナノ秒単位で返します。

バージョン3.7の新機能。

time.time_ns() int

time()に似ていますが、エポック以降の時間をナノ秒の整数として返します。

バージョン3.7の新機能。

time.tzset()

ライブラリルーチンで使用される時間変換ルールをリセットします。 環境変数 TZは、これがどのように行われるかを指定します。 また、変数tzname TZ環境変数から)、timezone(UTCの西の非DST秒)、altzone(UTCの西のDST秒)およびdaylight(このタイムゾーンに夏時間のルールがない場合は0に、夏時間の時間、過去、現在、または未来がある場合はゼロ以外に適用)。

ノート

多くの場合、 TZ環境変数を変更すると、 tzset()を呼び出さずに、 localtime()などの関数の出力に影響を与える可能性があります。振る舞いは信頼されるべきではありません。

TZ環境変数には空白を含めないでください。

TZ環境変数の標準形式は次のとおりです(わかりやすくするために空白を追加)。

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

コンポーネントは次のとおりです。

stdおよびdst

タイムゾーンの略語を示す3つ以上の英数字。 これらはtime.tznameに伝播されます

offset

オフセットの形式は± hh[:mm[:ss]]です。 これは、UTCに到着する現地時間の付加価値を示します。 '-'が前に付いている場合、タイムゾーンは本初子午線の東にあります。 そうでなければ、それは西です。 dstの後にオフセットがない場合、夏時間は標準時間より1時間進んでいると見なされます。

start[/time], end[/time]

DSTにいつ変更するか、DSTからいつ変更するかを示します。 開始日と終了日の形式は次のいずれかです。

Jn

ユリウス日 NS (1 <= NS <= 365)。 うるう日はカウントされないため、すべての年で2月28日は59日目、3月1日は60日目です。

n

ゼロベースのユリウス日(0 <= NS <= 365)。 飛躍日数をカウントし、2月29日を参照することができます。

Mm.n.d

NS NS '日(0 <= NS <= 6)の週 NS 月の NS 今年の(1 <= NS <= 5、1 <= NS <= 12、ここで5週目は「最後の NS 月の日 NS 」は、第4週または第5週のいずれかに発生する可能性があります)。 1週目は、 d 日が発生する最初の週です。 ゼロ日は日曜日です。

timeの形式は、offsetと同じですが、先行記号( '-'または '+')が許可されていない点が異なります。 時間が指定されていない場合のデフォルトは02:00:00です。

>>> os.environ['TZ'] = 'EST+05EDT,M4.1.0,M10.5.0'
>>> time.tzset()
>>> time.strftime('%X %x %Z')
'02:07:36 05/08/03 EDT'
>>> os.environ['TZ'] = 'AEST-10AEDT-11,M10.5.0,M3.5.0'
>>> time.tzset()
>>> time.strftime('%X %x %Z')
'16:08:12 05/08/03 AEST'

多くのUnixシステム(* BSD、Linux、Solaris、およびDarwinを含む)では、システムのzoneinfo( tzfile(5))データベースを使用してタイムゾーンルールを指定する方が便利です。 これを行うには、 TZ環境変数を、通常は [X198Xにあるシステムの 'zoneinfo'タイムゾーンデータベースのルートを基準にして、必要なタイムゾーンデータファイルのパスに設定します。 ]。 たとえば、'US/Eastern''Australia/Melbourne''Egypt'、または'Europe/Amsterdam'です。

>>> os.environ['TZ'] = 'US/Eastern'
>>> time.tzset()
>>> time.tzname
('EST', 'EDT')
>>> os.environ['TZ'] = 'Egypt'
>>> time.tzset()
>>> time.tzname
('EET', 'EEST')


クロックID定数

これらの定数は、 clock_getres()および clock_gettime()のパラメーターとして使用されます。

time.CLOCK_BOOTTIME

CLOCK_MONOTONIC と同じですが、システムが一時停止されている時間が含まれる点が異なります。

これにより、アプリケーションは、 CLOCK_REALTIME の複雑さに対処することなく、サスペンド対応の単調クロックを取得できます。 CLOCK_REALTIME は、settimeofday()などを使用して時刻を変更すると不連続になる可能性があります。

バージョン3.7の新機能。

time.CLOCK_HIGHRES

Solaris OSには、最適なハードウェアソースの使用を試みるCLOCK_HIGHRESタイマーがあり、ナノ秒に近い解像度が得られる場合があります。 CLOCK_HIGHRESは、調整不可能な高解像度の時計です。

バージョン3.3の新機能。

time.CLOCK_MONOTONIC

設定できない時計で、開始点が特定されていないため単調な時間を表します。

バージョン3.3の新機能。

time.CLOCK_MONOTONIC_RAW

CLOCK_MONOTONIC に似ていますが、NTP調整の対象とならない生のハードウェアベースの時間へのアクセスを提供します。

バージョン3.3の新機能。

time.CLOCK_PROCESS_CPUTIME_ID

CPUからの高解像度のプロセスごとのタイマー。

バージョン3.3の新機能。

time.CLOCK_PROF

CPUからの高解像度のプロセスごとのタイマー。

バージョン3.7の新機能。

time.CLOCK_TAI

国際原子時

これが正しい答えを与えるためには、システムに現在のうるう秒テーブルが必要です。 PTPまたはNTPソフトウェアは、うるう秒のテーブルを維持できます。

バージョン3.9の新機能。

time.CLOCK_THREAD_CPUTIME_ID

スレッド固有のCPU時間クロック。

バージョン3.3の新機能。

time.CLOCK_UPTIME

絶対値がシステムが実行されていて一時停止されていない時間である時間。絶対値と間隔の両方で正確な稼働時間の測定を提供します。

バージョン3.7の新機能。

time.CLOCK_UPTIME_RAW

単調に増加し、任意のポイントからの時間を追跡し、周波数や時間の調整の影響を受けず、システムがスリープしている間は増加しないクロック。

バージョン3.8の新機能。

次の定数は、 clock_settime()に送信できる唯一のパラメーターです。

time.CLOCK_REALTIME

システム全体のリアルタイムクロック。 この時計を設定するには、適切な権限が必要です。

バージョン3.3の新機能。


タイムゾーン定数

time.altzone
ローカルDSTタイムゾーンのオフセット(UTCの西の秒数)(定義されている場合)。 ローカルDSTタイムゾーンがUTCの東にある場合(英国を含む西ヨーロッパの場合など)、これはマイナスになります。 daylightがゼロ以外の場合にのみこれを使用してください。 以下の注を参照してください。
time.daylight
DSTタイムゾーンが定義されている場合はゼロ以外。 以下の注を参照してください。
time.timezone
UTCの西の秒単位でのローカル(非DST)タイムゾーンのオフセット(西ヨーロッパのほとんどで負、米国で正、英国でゼロ)。 以下の注を参照してください。
time.tzname
2つの文字列のタプル。1つ目はローカルの非DSTタイムゾーンの名前、2つ目はローカルのDSTタイムゾーンの名前です。 DSTタイムゾーンが定義されていない場合は、2番目の文字列を使用しないでください。 以下の注を参照してください。

ノート

上記のタイムゾーン定数( altzonedaylighttimezone 、および tzname )の場合、値は有効なタイムゾーンルールによって決定されます。モジュールのロード時または最後に tzset()が呼び出されたときであり、過去の時間では正しくない可能性があります。 タイムゾーン情報を取得するには、 localtime()tm_gmtoffおよびtm_zoneの結果を使用することをお勧めします。


も参照してください

モジュール日時
日付と時刻へのよりオブジェクト指向のインターフェース。
モジュールロケール
国際化サービス。 ロケール設定は、 strftime()および strptime()の多くの形式指定子の解釈に影響します。
モジュールカレンダー
一般的なカレンダー関連の機能。 timegm()は、このモジュールの gmtime()の逆です。


脚注

1
%Zの使用は非推奨になりましたが、優先される時間/分オフセットに拡張される%zエスケープは、すべてのANSICライブラリでサポートされているわけではありません。 また、元の1982 RFC 822 標準を厳密に読むと、2桁の年(%Yではなく%y)が必要になりますが、実際には4桁の年に移行しました。 2000年。 その後、 RFC 822 は廃止され、4桁の年は RFC 1123 によって最初に推奨され、によって義務付けられました。 ] RFC 2822