1. ホーム
  2. python

[解決済み] Pythonのtime.time()はローカルタイムスタンプとUTCタイムスタンプのどちらを返すのでしょうか?

2022-03-15 19:29:39

質問

はたして time.time() は、システムの時刻を返すのか、それともUTCの時刻を返すのか?

どのように解決するのですか?

その time.time() 関数は、エポックからの秒数を秒数で返します。 なお、quot;epoch"はUTCで1970年1月1日の始まりと定義されています。 つまり、エポックはUTCで定義され、グローバルな時間の瞬間を確立しているのです。 どこにいても "seconds past epoch" (time.time()) は同じ瞬間に同じ値を返します。

以下は、私のパソコンで実行したサンプル出力で、同様に文字列に変換しています。

Python 2.7.3 (default, Apr 24 2012, 00:00:54) 
[GCC 4.7.0 20120414 (prerelease)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import time
>>> ts = time.time()
>>> print ts
1355563265.81
>>> import datetime
>>> st = datetime.datetime.fromtimestamp(ts).strftime('%Y-%m-%d %H:%M:%S')
>>> print st
2012-12-15 01:21:05
>>>

ts 変数は秒単位で返される時間です。 次に、それを文字列に変換するために datetime ライブラリを使って、人間が読める文字列にしています。