使用visual 2013,创建标准的win32控制台应用程序,mktime将返回负(-1),而不管传递的参数是多少。
这段代码这样失败有什么原因吗?我不知道通过的tm params的任何组合都有什么不同。
#include "stdafx.h"
#include <time.h>
int _tmain(int argc, _TCHAR* argv[])
{
struct tm stm;
stm.tm_sec = 27;
stm.tm_min = 5;
stm.tm_hour = 18;
stm.tm_mday = 2;
stm.tm_mon = 1;
stm.tm_year = 2015;
stm.tm_wday = 0;
stm.tm_yday = 0;
printf("%lld\n", mktime(&stm));//prints -1
return 0;
}发布于 2016-01-14 14:46:20
2015用于stm.tm_year的值无效。减去1900 es在MSDN中解释。
注意,一月的月份值以0开头。
https://stackoverflow.com/questions/34792281
复制相似问题