3

を使用して日付を特定の形式に変換しようとしていますが、strptimeAM/PM に関する情報が失われていることに気付きました。理由がわからない。

これがコードです。

struct tm t;
strptime("Wed 4/18/2007 4:28:22 PM", "%a %m/%d/%Y %H:%M:%S %p", &t);
std::cout<<t.tm_hour<<endl;
strptime("Wed 4/18/2007 4:28:22 AM", "%a %m/%d/%Y %H:%M:%S %p", &t);
std::cout<<t.tm_hour<<endl;

%pに指定子を入れる目的を誰か教えてもらえますstrptimeか?

前もってありがとう、AJ

4

2 に答える 2

6

ここでの問題は、時間を24 時間%H形式で読み取り、AM/PM を無視する にあります。時間を12 時間形式で読み、AM/PM を使用する場合は、.%I%H

マニュアルはこちらから参照できます。

于 2010-08-06T06:13:51.733 に答える
0

このサイトから:

%p = am または pm に相当するロケール

于 2010-08-06T06:11:38.320 に答える