Python:
日付を文字列に変換する
方法:
Pythonでは、日付を文字列に変換することが簡単です。dateオブジェクトで利用可能なstrftime
メソッドを使用します。以下のように行います:
from datetime import datetime
# 現在の日付と時刻を取得
now = datetime.now()
# これを '月 日, 年' の形式の文字列に変換
date_string = now.strftime("%B %d, %Y")
print(date_string) # 出力: March 29, 2023 (または現在の日付)
# 形式: YYYY-MM-DD
iso_date_string = now.strftime("%Y-%m-%d")
print(iso_date_string) # 出力: 2023-03-29 (または現在の日付)
私の方法
こちらは、タイムゾーン情報が含まれたISO 8601形式の日付を取得する方法です:
def datestamp() -> str:
"""
タイムゾーンを含むISO形式の現在の日付と時刻。
"""
return datetime.now().astimezone().isoformat()
例出力:
>>> datestamp()
'2024-04-04T01:50:04.169159-06:00'
深堀り
歴史的に見て、プログラミングにおいて日付の文字列変換は、日付を人が読める形式で表現する必要があるため常に基本でした。
strftime
の代わりに使用できるものには、ISO 8601形式のためのisoformat
メソッドや、より柔軟なパースとフォーマットオプションを提供するarrow
やdateutil
などのサードパーティライブラリがあります。
実装に際して、strftime
は「string format time」の略であり、C言語に由来しています。Pythonのstrftime
は、年を表す%Y
や月を表す%m
などのフォーマットコードを解釈し、ほぼ無限のカスタマイズ可能性を提供します。
参照
Pythonの日付と時間の関数についてさらに深掘りするには:
- Python公式の
datetime
ドキュメント: https://docs.python.org/3/library/datetime.html strftime
ディレクティブの包括的なリストに興味のある方へ: https://strftime.org/- サードパーティの日付/時間ライブラリを探求するには:
- Arrow: https://arrow.readthedocs.io/en/latest/
- python-dateutil: https://dateutil.readthedocs.io/en/stable/