strftime を使用して期間 (AM/PM) を考慮するにはどうすればよいですか? 質問する

strftime を使用して期間 (AM/PM) を考慮するにはどうすればよいですか? 質問する

具体的には、次のように簡略化したコードがあります。

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動作するようになります。

おすすめ記事