通常の UNIX 時間 (1970-01-01 00:00:00 UTC からの秒数) と Python の datetime オブジェクトの間で相互に変換する関数dt
とのペアを作成しようとしています。ut
dt
とが適切な逆である場合ut
、このコードは同じタイムスタンプを 2 回出力します。
import time, datetime
# Convert a unix time u to a datetime object d, and vice versa
def dt(u): return datetime.datetime.fromtimestamp(u)
def ut(d): return time.mktime(d.timetuple())
u = 1004260000
print u, "-->", ut(dt(u))
残念ながら、2 番目のタイムスタンプは最初のタイムスタンプより 3600 秒 (1 時間) 短くなっています。これは非常に特定の unixtime でのみ発生すると思います。おそらく、夏時間がスキップされるその時間帯です。しかし、書く方法はありdt
ますut
か?それで、それらは互いに真の逆になりますか?