回答:
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)
それはあなたの質問に答えますか?
編集:JF Sebastianは(float )による真の除算を使用するように正しく提案しました。正確な結果を取得したい場合は、違いが大きく、答えを変更しました。この違いは、Python 2.xのデフォルトの動作に起因します。これは、(演算子を使用して)を除算すると常に返されます(これは、床除算と呼ばれます)。除数(であること)を除数(浮動小数点として表現されていること)または(など)で置き換えることにより、除算は真の除算になります。Pythonの2.xの戻り分割により、により、1e3
1000
int
/
int
int
1000
int
1e3
1000
float(1000)
1000.
float
int
float
float
int
float
、float
など。fromtimestamp()
メソッドに渡されるタイムスタンプに小数部分がある場合、このメソッドの結果には、その小数部分に関する情報(マイクロ秒数)も含まれます。
x * 0.001
とx / 1e3
どちらも同じですが、表記と長さが異なります(元の方が短い)。一部の人にとっては、提案した乗法逆数(1/x
)を掛けるのではなく、実際に数で割るほうが明確な場合があります。しかし、代替アプローチを提案してくれてありがとう。
fromtimestamp
日付と時刻を現地時間でutcfromtimestamp
与える日付と時刻をUTCで与える
/ 1e3