我用strptime在C中解析了一个日期。
现在我有这样的事情:
debugLog(DEB_INFO, "observationDateConverted: %d-%d-%d %d:%d:%d\n",
result.tm_year+1900,
result.tm_mon + 1,
result.tm_mday,
result.tm_hour,
result.tm_min,
result.tm_sec);
结果收到最新日期(struct tm)
我有一堆这样的毫秒:1396682344000我想添加到该日期以了解结束日期。
我该怎么办?
答案 0 :(得分:1)
time_t totalseconds = mktime(&result);
uint_64 endtime = (totalseconds * 1000) + msDiff;
或者如果你想要结构:
time_t totalseconds = mktime(&result),
endtimesec = totalseconds + msDiff;
struct tm * endTime = gmtime(&endtimesec);
答案 1 :(得分:1)
一般方法:将struct tm转换为时间戳(64位int),然后添加millis / 1000。
time_t totalseconds = mktime(&result) + (millis / 1000);
然后,您可以使用C's time API中的功能将时间戳转换回struct tm
。