【发布时间】:2016-06-27 20:58:24
【问题描述】:
有一些方法可以在 C++ 中获取当前时间戳,就像 JavaScript 的 Date.now()does 一样?
(没有chrono)
我正在使用flot JQuery 库绘制图表,它的默认时间度量是 1970 年 1 月 1 日 00:00:00 UTC,所以我的 C++ 后端必须适合它。
如果是重复的问题,我很抱歉,但我发现的所有内容都使用 chrono,我无权访问。谢谢。
【问题讨论】:
有一些方法可以在 C++ 中获取当前时间戳,就像 JavaScript 的 Date.now()does 一样?
(没有chrono)
我正在使用flot JQuery 库绘制图表,它的默认时间度量是 1970 年 1 月 1 日 00:00:00 UTC,所以我的 C++ 后端必须适合它。
如果是重复的问题,我很抱歉,但我发现的所有内容都使用 chrono,我无权访问。谢谢。
【问题讨论】:
虽然不能保证所有实现都可以,但对于旧的 C time() 函数(在标头 ctime 或 time.h 中找到)获取自 1970 年 1 月 1 日午夜起以秒为单位的时间戳是很常见的(它是在 POSIX 上强制执行)。
【讨论】:
time() 的声明位置(<ctime> 或<time.h>)。
man time...嗯,还有争论的余地,手册页有待改进,但这不是尝试这样做的时间或地点。
由于您不能使用chrono,请尝试使用time。
time_t result = time(NULL);
printf("%s%ju secs since the Epoch\n", asctime(localtime(&result)), (uintmax_t)result);
请注意,这适用于大多数 POSIX 兼容系统,但并非所有系统都兼容 POSIX。
【讨论】:
time 函数(您应该提到的是在 <ctime> or ms,因为纪元不是秒。似乎您也可能在不同时间运行程序,这也说明了差异。如果此程序对您有用,请随时将其标记为正确答案。 Here 在 1467070985s 有它,它与 c++ 返回的接近。