📘

Pythonのdatetime(+pendulum)の扱いまとめ

2021/02/06に公開1

datetime

フォーマッタ書式コード

import+TimeZone

from datetime import datetime, timezone
TIME_ZONE: str = timezone(timedelta(hours=+9), 'Asia/Tokyo')

現在時刻でdatetime生成

datetime.now(TIME_ZONE)

指定時刻でdatetime生成

datetime(year=2020, month=1, day=30, hour=12, minute=00, second=00, tzinfo=TIME_ZONE) 

datetime → str(ISO形式)

datetime.now().isoformat('seconds')

datetime → str(指定形式)

datetime.now().strftime('%Y-%m-%d %H:%M:%S') 

str → datetime (ISO形式)

datetime.fromisoformat("1975-05-21T22:00:00+09:00")

str → datetime (指定形式)

datetime.strptime("1975/05/21 22:10:30", "%Y/%m/%d %H:%M:%S") 

date,timeからのdatetime生成

now = datetime.now()
new_datetime = datetime.combine(now.date(), now.time(), tzinfo=TIME_ZONE)

pendulum

フォーマッタ書式コード

import+TimeZone

import pendulum
TIME_ZONE: str = "Asia/Tokyo"

現在時刻でdatetime生成

pendulum.now(TIME_ZONE) 

指定時刻でdatetime生成

pendulum.datetime(year=2020, month=1, day=30, hour=12, minute=00, second=00, tz=TIME_ZONE)

datetime → str(ISO形式)

pendulum.now(TIME_ZONE).isoformat('seconds')

datetime → str(指定形式)

pendulum.now(TIME_ZONE).format("YYYYMMDDHHmmSS")

str → datetime(ISO形式)

pendulum.parse("1975-05-21T22:00:00+09:00")  

str → datetime(指定形式)

pendulum.from_format("1975/05/21 22:10:30", "YYYY/MM/DD HH:mm:SS", tz=TIME_ZONE) 

Discussion