2010-08-06 36 views
3

我試圖用strptime來轉換特定格式的日期,並且我意識到關於AM/PM的信息丟失了。不知道爲什麼。strptime問題() - %p沒有考慮到

這是代碼。

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; 

任何人能告訴我什麼是具有strptime%p符的目的是什麼?

由於提前, AJ

回答

5

的這裏的問題是與%H,這將在24小時格式讀取小時,忽略AM/PM。如果您想在12小時格式中讀取小時,並使用上午/下午使用%I代替%H

您可以參考手冊here

0

this site

%P =區域設置的等效A.M或下午的