是我还是函数strptime
在这里错误?我期望seconds
的值为1,但我得到-3599。
我的编译器是gcc版本4.9.2。
如果是真正的错误,您将如何绕过此问题?您建议使用哪个库将字符串转换为任何日期对象?谢谢。
#include <iostream>
#include <ctime>
int main()
{
time_t t1, t2;
struct tm timeDate1, timeDate2;
double seconds;
std::string date1 = "2019-06-11";
std::string date2 = "2019-06-11";
strptime(date1.c_str(), "%Y-%m-%d", &timeDate1);
strptime(date2.c_str(), "%Y-%m-%d", &timeDate2);
timeDate1.tm_sec = 0;
timeDate1.tm_min = 0;
timeDate1.tm_hour = 0;
timeDate2.tm_sec = 1;
timeDate2.tm_min = 0;
timeDate2.tm_hour = 0;
seconds = difftime(t2, t1);
std::cout << seconds << std::endl;
}