181

具体的には、これを単純化するコードがあります。

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 は、日付を解析するときに期間指定子を無視するだけですか、それとも何か愚かなことをしていますか?

4

5 に答える 5

263

Pythonのtime.strftimeドキュメントには次のように書かれています:

strptime() 関数とともに使用すると、ディレクティブが時間を解析するために使用される%p場合、ディレクティブは出力時間フィールドにのみ影響します。%I

案の定、に変更する%H%I機能します。

于 2009-11-18T22:07:33.107 に答える
75
format = '%Y-%m-%d %H:%M %p'

%Hの代わりにフォーマットを使用してい%Iます。は「24 時間」形式であるため%H、情報が破棄される可能性があり%pます。に変更すると問題なく動作%Hします%I

于 2009-11-18T22:09:19.613 に答える
29

%H(12 時間形式) の代わりに (24 時間形式) を使用し%Iました。

于 2009-11-18T22:09:19.020 に答える
18

%H (24 時間制の時間) を %I (12 時間制の時間) に置き換えてみてください。

于 2009-11-18T22:08:59.473 に答える