具体的には、次のように簡略化したコードがあります。
from datetime import datetime
date_string = '2009-11-29 03:17 PM'
format = '%Y-%m-%d %H:%M %p'
my_date = datetime.strptime(date_string, format)
# This prints '2009-11-29 03:17 AM'
print my_date.strftime(format)
何が起こっているのでしょうか? Python は日付を解析するときに期間指定子を無視するのでしょうか、それとも私が何か愚かなことをしているのでしょうか?
ベストアンサー1
Python のtime.strftime
ドキュメントには次のように書かれています:
strptime() 関数で使用する場合、ディレクティブが時間を解析するために使用される
%p
場合にのみ、ディレクティブは出力時間フィールドに影響します。%I
確かに、 を変更する%H
と%I
動作するようになります。