我已编写此代码:
string timeConversion(string s) {
string time{s[0]}, twelveAM{"12"};
time+=s[1];
if((s.find("PM") != string::npos) || ((s.find("AM") != string::npos) && (time.compare(twelveAM)==0)))
s.replace(s.begin(), s.begin()+2, to_string((stoi(time)+12)%24));
s.replace(s.end()-2, s.end(), "");
return s;
}
[当s
为12:00:00AM
时,我的输出为0:00:00
,但应为00:00:00
。
其他一切正常,我很感谢您提供的解决此问题的帮助。
https://en.cppreference.com/w/cpp/chrono
或
https://www.boost.org/doc/libs/1_62_0/doc/html/date_time.html
两者都应具有从您的格式到其他格式的转换工具。
根据我的经验,最好不要编写任何日期时间代码,即使最简单的代码也要使用库。在这里可以找到一种有趣的解释