C++ strptime()的问题-%p未被考虑在内
我试图使用C++ strptime()的问题-%p未被考虑在内,c++,parsing,datetime,strptime,C++,Parsing,Datetime,Strptime,我试图使用strtime将日期转换为特定格式,我意识到有关am/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)
strtime
将日期转换为特定格式,我意识到有关am/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;
struct;
strtime(“2007年4月18日星期三下午4:28:22”,%a%m/%d/%Y%H:%m:%S%p”,&t);
标准::cout来自:
%p=区域设置的a.m或p.m等效值
这里的问题是%H
,它将以24小时格式读取小时,并忽略AM/PM。如果要以12小时格式读取小时,并使用AM/PM,请使用%I
代替%H
你可以参考手册