gpt4 book ai didi

c++ - std::get_time 不适用于 visual studio 2012 中的日期

转载 作者:行者123 更新时间:2023-11-28 05:01:04 25 4
gpt4 key购买 nike

我正在尝试在 visual studio 2012 中使用 std::get_time 解析日期和时间字符串。时间字符串似乎可以正确解析,但不能正确解析日期字符串。我想最终将日期字符串转换为整数以进行比较。我知道我可以手动解析它,但我想知道我是否遗漏了一些关于 std::get_time 的使用。这是带有输出的示例代码。

struct std::tm time, date;
std::istringstream ss( "09/02/2017 23:19:12" );
std::string ss1, ss2;
ss >> ss1 >> ss2;
std::stringstream iss1( ss1 ), iss2( ss2 );
iss1 >> std::get_time( &date, "%m/%d/%Y" );
iss2 >> std::get_time( &time, "%H:%M:%S" );
std::cout << date.tm_mon << "/" << date.tm_mday << "/" << date.tm_year << ", " << time.tm_hour << ":" << time.tm_min << ":" << time.tm_sec << "\n";

我得到的输出是

8/2/117, 23:19:12

最佳答案

这就是它的工作方式!

struct tm 将月份存储为 0-11,将日期存储为 1-31。年是自 1900 年以来的年数。

http://en.cppreference.com/w/c/chrono/tm

关于c++ - std::get_time 不适用于 visual studio 2012 中的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45963411/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com