日付を文字列に変換する

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メソッドや、より柔軟なパースとフォーマットオプションを提供するarrowdateutilなどのサードパーティライブラリがあります。

実装に際して、strftimeは「string format time」の略であり、C言語に由来しています。Pythonのstrftimeは、年を表す%Yや月を表す%mなどのフォーマットコードを解釈し、ほぼ無限のカスタマイズ可能性を提供します。

参照

Pythonの日付と時間の関数についてさらに深掘りするには: