Pythonで日付、時刻の比較

Pythonで日付、時刻の比較を行う

急に性能が落ちてきた処理がある。しかし、それがいつからなのか、体感的なもので本当はたいして性能劣化していないのか。
よくわからなかったので、ログファイルを集計して処理時間を計測してみることにした。

簡単に作りたかったのでPythonを利用する。
文字列の日時をdatetimeに変換して、datetimeとdatetimeを引き算し、返ってきたtimedeltaから差を得ればよいようだ。

文字列からdatetimeへの変換

1
2
3
4
import datetime

start_date_time = datetime.datetime.strptime('2018-09-14:14:49:31', '%Y-%m-%d:%H:%M:%S')
end_date_time = datetime.datetime.strptime('2018-09-14:14:51:13', '%Y-%m-%d:%H:%M:%S')

日付のフォーマットを指定すれば、ログファイルの日付フォーマットはいろいろ対応できそうだ。

処理時間を算出する

1
2
3
dist_delta = end_date_time - start_date_time
print(dist_delta.seconds)
print(dist_delta.days)

secondsで差の秒数を取得できる。
何日も差があるようであれば、daysで差の日付を取得できる。

まとめ

数十万行のログファイルから特定のキーで開始時間と終了時間を取得しつつ、処理時間の平均を日ごとに集計したが、1分未満で処理が終わった。Python優秀だ。

同じタグの記事
同じカテゴリの記事

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA