我怎么能得到自C ++以来的时代以来的天数,我知道我应该使用mktime
函数,但我不明白如何实现它
谢谢!
答案 0 :(得分:3)
修改cplusplus.com的一些示例代码:
#include <stdio.h>
#include <time.h>
int main ()
{
time_t seconds;
seconds = time (NULL);
int daysSinceEpoch = seconds/(60*60*24);
printf ("%ld days since January 1, 1970", daysSinceEpoch);
return 0;
}
答案 1 :(得分:1)
首先使用time(NULL)
获取当前时间。将该值传递给gmtime
,这会返回tm*
。阅读tm
的文档。
答案 2 :(得分:1)
日期不容易正确使用。目前的标准库无法正确执行此操作。您应该使用适当的日期库,例如boost :: date或Howard Hinnant's <date>
。
使用Hinnant的库,代码可能如下所示:
date epoch = year(1970)/jan/day(1); // Assuming you're referring to the traditional Unix epoch (some systems such as Cocoa on OS X use the first day of the millenium, Jan 1, 2001 as their epoch)
days d = date::today() - epoch;