python datetime fromtimestamp が valueerror を生成し、年が範囲外です [重複] 質問する

python datetime fromtimestamp が valueerror を生成し、年が範囲外です [重複] 質問する

たとえば、浮動小数点形式のタイムスタンプを datetime オブジェクトに変換しようとすると1437506779950.0、「年が範囲外です」という ValueError が発生します。

私が使用したこのコードは、3 か月前までは機能していました。今、これを再度確認してみると、奇妙なことに、コード ベースでは何も変更されておらず、渡されるデータのみが変更されているにもかかわらず、このエラーがスローされています。変更された唯一のデータは、明らかにタイムスタンプです。

>>> f = 1437506779950.0
>>> datetime.datetime.fromtimestamp(float(f))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: year is out of range

この断絶によって何が変わったのか理解できません。

ベストアンサー1

の回答で述べたようにこの質問これは単位変換の問題のようです。ミリ秒から秒に変換するには、タイムスタンプを 1000 で割る必要があります。

Python 2 では、ミリ秒の精度を維持したい場合は、 で割ります。Python 3 では、 または で割る1000.0ことで、いずれにしても精度が維持されます。10001000.0

おすすめ記事