カテゴリー
python

pythonの日付の表現を整形する

先日の投稿で日付を連続した数字にしたのですが、「なんかこういうの言語の機能であった気がする」と思っていたのですが案の定あります。

import datetime

now = datetime.datetime.now()
print(now)
# 2023-02-23 07:48:48.022719

#日付を連続した数字にする
now_1 = now.strftime("%Y%m%d")
print(now_1)
# 20230223

now_2 = "{0:%Y%m%d}".format(now)
print(now_2)
# 20230223

「なんかあったような気がするけど、たいした処理じゃないし作ればいいや」と自分で作りがちですが、車輪の再発明ですし、コードも長くなるし可読性も下がるので、言語にある機能は使ったほうがいいですよね。

一番最初に思いついたのは正規表現を使う方法だったことはヒミツです(笑)

import datetime
import re

now = datetime.date.today()
#日付を連続した数字にする
now_3 = re.sub("-", "", str(now))
print(now_3)
# 20230223

#正規表現使わずにこちらで十分ですよね
now_4 = str(now).replace("-", "")
print(now_4)
# 20230223