Python

Python 日付を扱う 変換や計算まとめ

文字列からdatetime、datetimeから文字列に変換

import datetime

# 文字列からdatetime
datetime.datetime.strptime('2020-05-10 12:30:00', "%Y-%m-%d %H:%M:%S")

# datetimeから文字列
now = datetime.datetime.now()
now.strftime("%Y-%m-%d %H:%M:%S")

datetimeで日付を加算・減算する

import datetime

now = datetime.datetime.now()
now + datetime.timedelta(days=1) #1日加算
now - datetime.timedelta(hours=2) #2時間減算

日付の差分を取得 (秒)

import datetime
t = datetime.datetime.now() 
(datetime.datetime.now() - t).total_seconds() 

ファイルのタイムスタンプ取得

import os

#  タイムスタンプを取得
os.stat('test.txt').st_mtime

# datetimeに変換する
datetime.datetime.fromtimestamp(os.stat('test.txt').st_mtime)

現在時刻をエポック秒・UNIX時間で取得

import time
time.time() # 小数点付きで取得
int(time.time())  # 秒(整数)で取得
int(time.time() * 1000)  # ミリ秒で取得

エポック秒 / UNIX時間 を 日付時刻型(datetime)に変換

import time, datetime
datetime.datetime.fromtimestamp(int(time.time()))