コード一覧

【Python】日付の計算と表示形式

日付の計算方法

1日前とか、30日前とか、現在(今)からどのくらい、前なのか、先なのか、を計算する方法と、好きな形式で表示する方法。
好きな形式とは、〇月〇日や、〇年〇月〇日や〇/〇/〇など。

 

datetimeをimportする

datetimeは、年、月、日、時間、分、秒、マイクロ秒まで取り出せる。
また、曜日や使い方も様々でドキュメントも長い。

ドキュメント 基本的な日付型および時間型

https://docs.python.org/ja/3/library/datetime.html

計算のやり方

同じ型にしないと計算が出来ない。
datetimeは、こんな感じの表示になっている。
2020-04-14 11:28:45.145678
年、月、日、時間、分、秒、マイクロ秒

そのため、同じ型同士で計算しないといけない。
その時使うのが、timedelta
datetime.timedelta(〇〇〇=数字)
の形で使う。
〇〇〇にいれられるのは以下

week
day
hours 時間
minutes
seconds
milliseconds ミリ秒
microseconds
マイクロ秒

 

datetimeの計算 同じ型同士

 

 

違うタイプの計算 違う型同士

エラーが出る。

表示形式の指定

表示形式はstrftimeで出来る。
変数.timedelta(‘%アルファベット’)

変数は、dayとかtodayとか自分で決めたもの
例)day = datetime.datetime.now()
# 2020-04-14 12:10:01.566262

 

昨日と明日

 

 

使えるアルファベット

strftime()の書式一覧のドキュメント
https://docs.python.org/ja/3/library/datetime.html#strftime-and-strptime-format-codes

よく使うものだけ抜粋

%Y 西暦4桁 2020
%y 西暦下2桁 20
%m 月2桁 4月なら04
%d 日2桁 1日なら01
%H 時間2桁 夕方5時なら17
%M 分数2桁 1分なら 01
%S 秒数2桁 1秒なら 01
%f マイクロ秒6桁 1なら 000001