datetime.datetime.fromtimestamp()
は正確ですが、JavaScriptのようなミリ秒単位のタイムスタンプがある可能性がありますが、fromtimestamp()
には秒単位のUNIXタイムスタンプが必要です。
>>> import datetime
>>> your_timestamp = 1331856000000
>>> date = datetime.datetime.fromtimestamp(your_timestamp/1e3)
と結果は次のとおりです:
はそのようにそれを実行してください
>>> date
datetime.datetime(2012, 3, 16, 1, 0)
は、それがあなたの質問にお答えしていますか?
EDIT:J.F.セバスチャンが正しく1e3
(フロート1000
)によって使用真部門に提案しました。あなたが正確な結果を得たいなら、その違いは重要です。私は答えを変えました。この相違点は、Python 2.xのデフォルトの動作に起因します。int
は、/
演算子を使用してint
をint
(これはと呼ばれます)で除算すると常に返されます。 1e3
除数(フロートとして1000
のある表現)またはfloat(1000)
(又は1000.
など)と除数1000
(int
ある)を置き換えることにより、分割は、真分割なります。 Pythonの2.xではfloat
によってint
を分割する際、float
を返しint
によってfloat
、float
float
などによってそしてfromtimestamp()
メソッドに渡されたタイムスタンプで、いくつかの小数部分がある場合には、このメソッドの結果も数としてその端数部分(に関する情報が含まれていますマイクロ秒)。
true division: '/ 1e3' – jfs
@ J.F.Sebastian:あなたはまったく正しいです、私は自分の答えを編集し、あなたが正しい理由を追加しました。説明に同意しない場合は、私に知らせてください。 – Tadeck
私はx/1e3の代わりにx * 0.001を書く方がはっきりしています –