PythonでDatetimeからUnixtime変換

プログラミング
最近仕事でタイムスタンプ周りの変換処理を取り扱うことがあり、
特に指定時刻をunixtime変換する処理を毎回忘れてしまうので、自分への忘備録ついでに簡単にまとめます。

動作環境

・windows10 home 64bit
・PyCharm Community Edition 2018.2.4 x64
・Python3.6

現在日時をunixtimeに変換

from datetime import datetime
# 現在日時取得
now = datetime.now()
print(now)
➡2018-11-12 22:18:07.027838

# 現在日時→UNIXTIME
now_unix = now.timestamp()
print(now_unix)
➡1542028687.027838

# UNIXTIME→日付
now_local = datetime.fromtimestamp(now_unix)
print(now_local)
➡2018-11-12 22:18:07.027838

指定時刻をunixtimeに変換

import datetime
import time

# 指定時刻→date型変換
set_time = "2018-11-12 22:00:00"
time_date = datetime.datetime.strptime(set_time, '%Y-%m-%d %H:%M:%S')

# 指定時刻→UNIXTIME
time_unix = time.mktime(time_date.timetuple())
print(time_unix)
➡1542027600.0

# UNIXTIME→日付
time_local = datetime.datetime.fromtimestamp(time_unix)
print(time_local)
➡2018-11-12 22:00:00

ただし、mktimeはローカルタイムへの変換ですので、そこだけ注意を。

では、今日はここまで。

タイトルとURLをコピーしました