プログラマ行進曲第二章

主にソフトウェア関連の技術をネタにした記事を執筆するためのブログ

Pythonのdatetimeオブジェクトのtips

最近ちょっとPythonのdatetimeを使って迷ったことがあったのでメモ。

Pythonで現在時刻を取るとき datetime.now() でdatetimeオブジェクトを取りますが、この時microsecondまで取ってしまって、それを取り除きたいときにどうしたらいいのか分からなくて公式ドキュメントを調べたところ、 datetime.replace メソッドなるものがあることを知りました。

8.1. datetime — 基本的な日付型および時間型 — Python 3.6.5 ドキュメント

こんな感じで使えます。

>>> from datetime import datetime
>>> now = datetime.now()
>>> now
datetime.datetime(2018, 10, 15, 22, 32, 24, 80236)
>>> now.replace(microsecond=0)
datetime.datetime(2018, 10, 15, 22, 32, 24)
>>> now.replace(microsecond=0).isoformat()
'2018-10-15T22:32:24'

ISO 8601 形式の文字列をサクッと取りたいとき、microsecondレベルまでは要らなかったのでメモ。