Python の datetime.replace() は現在のオブジェクトを更新しない2023年02月13日 11時06分08秒

Python に、日付関連を扱う、datetime ライブラリがある。

日付の値を変えるのに replace() 関数がある。この関数は replace の名前とは裏腹に、オブジェクト内の値を置き換える事はしない様だ。代わりに、新しいオブジェクトを返す。

実験プログラム。

% cat datetime.replace.py 
import datetime
  
today = datetime.date.today()
past = today.replace(year=2000)

print("Today:", today)
print("Past :", past)
出力は以下のようになる。
% python3.8 datetime.replace.py 
Today: 2023-02-12
Past : 2000-02-12