環境設定 数値 文字列 正規表現 リスト タプル 集合 辞書 ループ 関数 クラス データクラス 時間 パス ファイル スクレイピング その他

Python でタイムスタンプの文字列(時差こみ)を Unix Timestamp にする方法

Python でタイムスタンプの文字列(日本時間)を Unix Timestamp にするには fromisoformat を使います。

from datetime import datetime

text = '2020-03-06 15:02:19'
dt = datetime.fromisoformat(text)
timestamp = int(dt.timestamp()) + 9 * 3600

print(timestamp)  # 1583506939

fromisoformat は文字列をとります。timestamp は小数で返ってくるため、整数にするときは int で変換します。もとの文字列が日本時間のときは 9 * 3600 を足して時差を解消します。

MySQL Connector などを使ってデータベースから Timestamp のデータを出すときは、Python はそれを datetime.datetime と解釈するため、データベースにある値を fromisoformat に入れるときは文字列に変えます。

# date_created はデータベースの Timestamp 型から出した値
text = str(date_created)

Python 時間