我需要将给定日期转换为包含自1970年1月1日以来的毫秒数的int。(unix epoch)
我尝试了以下代码:
tm lDate;
lDate.tm_sec = 0;
lDate.tm_min = 0;
lDate.tm_hour = 0;
lDate.tm_mday = 1;
lDate.tm_mon = 10;
lDate.tm_year = 2010 - 1900;
time_t lTimeEpoch = mktime(&lDate);
cout << "Epoch: " << lTimeEpoch << endl;
结果为Epoch:1288584000,对应于2010年11月1日星期一04:00:00 GMT
编辑:我预计2010年10月1日,显然tm_mon是自1月以来的月数,
因此正确的行应为lDate.tm_mon = 10 -1;
最佳答案
如手册页中所指定,tm_mon为:
自一月以来的月数,范围为0到11。