【发布时间】:2013-01-02 18:12:00
【问题描述】:
#include <stdio.h>
#include <time.h>
int main(int argc, char* argv[])
{
struct tm stm;
stm.tm_sec = 27;
stm.tm_min = 5;
stm.tm_hour = 18;
stm.tm_mday = 2;
stm.tm_mon = 0;
stm.tm_year = 43;
stm.tm_wday = 0;
stm.tm_yday = 0;
printf("%d\n", mktime(&stm));
getchar();
return 0;
}
打印 -1
我误会了什么?
[+edit] 这是使用带有 32 位目标的 Visual Studio 2012。我想后续问题是“存储任意日期/时间值(即可能在 1900 年之前)的推荐方法是什么?”
【问题讨论】:
-
为什么不检查
errno或使用perror找出问题所在? -
有人删除了答案,即年份无效 - 我使用的 strptime 版本基于 1970 年而不是 1900 年的年份。
-
我确实暂时删除了我的答案,我需要检查一些东西(我第一次是对的)