java.util.Date(milliseconds)を使用して、Javaで同様のDateオブジェクトを作成できます。Pythonで同等のものを作成するにはどうすればよいですか?
Dateオブジェクトを割り当て、それを初期化して、「エポック」と呼ばれる標準の基準時刻、つまり1970年1月1日00:00:00 GMTからの指定されたミリ秒数を表します。
java.util.Date(milliseconds)を使用して、Javaで同様のDateオブジェクトを作成できます。Pythonで同等のものを作成するにはどうすればよいですか?
Dateオブジェクトを割り当て、それを初期化して、「エポック」と呼ばれる標準の基準時刻、つまり1970年1月1日00:00:00 GMTからの指定されたミリ秒数を表します。
回答:
タイムスタンプに変換するだけです
datetime.datetime.fromtimestamp(ms/1000.0)
datetime.utcfromtimestamp(ms//1000).replace(microsecond=ms%1000*1000)
これはどうですか?1970年より前と2038年より後の日付を処理することは期待できると思います。
target_date_time_ms = 200000 # or whatever
base_datetime = datetime.datetime( 1970, 1, 1 )
delta = datetime.timedelta( 0, 0, 0, target_date_time_ms )
target_date = base_datetime + delta
Python標準libで言及されているように:
fromtimestamp()は、タイムスタンプがプラットフォームCのlocaltime()またはgmtime()関数でサポートされている値の範囲外の場合、ValueErrorを発生させる可能性があります。これは1970年から2038年までの年に制限されるのが一般的です。
utc_time = datetime(1970, 1, 1) + timedelta(milliseconds=millis)