動作検証バージョン:Windows 10 + Python 3.7.3
「python 日付 8桁で」
「python 日付8桁 取得」
といった検索で、このサイト『インストラクターのネタ帳』へのアクセスがありました。
Pythonで、日付をYYYYMMDD形式の8桁文字列として取得する方法を、探していた方による検索です。
[スポンサードリンク]
strftimeメソッドで日付をYYYYMMDD形式に
以下のスクリプトを実行すると、dateオブジェクトのtodayメソッドで取得した今日の日付がYYYYMMDD形式の8桁で出力されます。
import datetime
today = datetime.date.today()
print(today.strftime('%Y%m%d'))
today = datetime.date.today()
print(today.strftime('%Y%m%d'))
上記コードのように、dateオブジェクトのstrftimeメソッドで日付データを8桁の文字列にできます。
書式を指定する文字列「%Y%m%d」については、公式ドキュメントにまとめられています。
format関数で日付をYYYYMMDD形式に
先のスクリプトの最後の1行は、さまざまな書き方ができます。
print(format(today, '%Y%m%d'))
format関数でもOKです。
formatメソッドで日付をYYYYMMDD形式に
文字列のformatメソッドでも、8桁の文字列として日付を取得できます。
print('{0:%Y%m%d}'.format(today))
私がPythonの文字列操作に慣れていないことも関係しているのでしょうけれど、先のstrftimeメソッドやformat関数のほうが簡単に感じられます。
フォーマット済み文字列リテラルで日付をYYYYMMDD形式に
バージョン3.6から使えるようになったf-strings・フォーマット済み文字列リテラルでも、8桁の文字列として日付を取得できます。
print(f'{today:%Y%m%d}')
先ほどのstr.formatメソッドより、f-stringsのほうが書きやすいと私は感じます。
最終更新日時:2023-06-15 12:39
[スポンサードリンク]