Python タイムスタンプ⇔datetime 相互変換:クイックガイド
タイムスタンプから datetime への変換
データベースに日時をタイムスタンプとして保存するのは一般的です。Unixタイムスタンプは、特定の日時と1970年1月1日UTCとの間の秒数です。
datetime モジュールの fromtimestamp() メソッドで、UNIXタイムスタンプから日付を取得できます。
from datetime import datetime
# タイムスタンプは1970-01-01からの秒数
timestamp = 1545730073
# タイムスタンプをローカルタイムゾーンのdatetimeオブジェクトに変換
dt_object = datetime.fromtimestamp(timestamp)
# datetimeオブジェクトとその型を表示
print("dt_object =", dt_object)
print("type(dt_object) =", type(dt_object))
出力
dt_object = 2018-12-25 09:27:53 type(dt_object) = <class 'datetime.datetime'>
datetime クラスを datetime モジュールからインポート。datetime.fromtimestamp() クラスメソッドでローカル日時(datetimeオブジェクト)を取得し、dt_object 変数に格納。
注意: datetime オブジェクトから strftime() メソッドで日時を表す文字列を簡単に作成できます。
datetime からタイムスタンプへの変換
Pythonでは、datetime.timestamp() メソッドで datetime オブジェクトからタイムスタンプを取得できます。
from datetime import datetime
# 現在の日時
now = datetime.now()
# datetime からタイムスタンプへ変換
ts = datetime.timestamp(now)
print("タイムスタンプ =", ts)
出力
タイムスタンプ = 1672138646.118119
datetime.timestamp() メソッドは datetime オブジェクトを引数に取り、Unixタイムスタンプを返します。
関連記事
- Python 文字列を datetime に変換するプログラム
Python
- Pythonマルチスレッド完全ガイド:GIL解説と実践例
- Pythonデータクラス:モダンな構文でデータ管理を効率化
- Pythonタプル完全ガイド:パッキング、アンパッキング、比較、スライス、辞書キー活用
- Python 演算子完全マスター: 包括的ガイド
- Python os.rename()でファイル・ディレクトリをリネーム:ステップバイステップガイド
- Python __slots__ 完全ガイド:メモリ節約と高速化を実現
- Python基礎チートシート:必須データ型、辞書、リスト、関数
- Pythonオブジェクトとクラス実践ガイド
- Python shutil.copy()とshutil.copystat()でファイルをコピー
- Python Pillowで画像処理:包括的ガイド
- Python データ型マスター: 実践ガイド