在后续调用中获取相同的时间戳值
Getting same value for timestamp on consequent calls
每当我调用这个函数时,我都试图在float中获得高达毫秒的unix时间戳,这可能是每秒30次。下面函数返回的时间戳总是相同的,但是,当我将其打印到std::cerr
时,我会得到不同的值。每次调用函数时,我都会创建变量,所以我不确定我在这里做错了什么。任何帮助都将不胜感激。
float GetUnixTimestamps()
{
float milliseconds_since_epoch =
std::chrono::duration_cast<std::chrono::milliseconds>
(std::chrono::system_clock::now().time_since_epoch()).count();
std::cerr << milliseconds_since_epoch << std::endl;
return milliseconds_since_epoch;
}
编辑:根据建议我使用的是C++11,需要在Windows x64、x86和Linux(主要是Ubuntu和CentOS(上编译。我想在unix中获取当前时间。我已经阅读了S.O的帖子19555121和16177295,但时间戳的值仍然保持不变。
float
的精度不足以满足您的需要。自1970-01-01以来的当前毫秒数约为1478020169728。在此之后的float
中的下一个可表示值是1478020300800。大约131秒(2分钟(后。
double
在这里就可以了。
相关文章:
- 获取 QInputEvent 在 Qt 4.8 中被放入 QEventLoop 队列时的时间戳
- 如何从远程 SFTP 服务器获取 HH-MM-SS 时间戳格式的文件列表
- 在 c++ 中获取 X 毫秒前的时间戳
- 如何获取零MQ时间戳?
- C++如何获取文件最近更改的时间戳
- 如何在不使用Chrono的情况下在C 中获取纳米秒的当前时间戳
- 获取 ISO 8601 时间戳 C++ 之前和之后的设置时间
- 自定义NTP客户端获取错误的时间戳
- 在 Linux 中获取时间戳的"最便宜"方式 (c++)
- 如何以毫秒为单位获取自 1970 年以来的当前时间戳,就像 Java 一样
- C++提升以 UTC 格式获取 unix 时间戳
- 如何在本机C++中获取进程名称和日期时间戳
- 从 UNIX 时间戳获取同月第一天的时间戳,而无需转换为本地时间
- 根据从两个不同线程获取的时间戳匹配图像
- 获取当前小时unix时间戳
- 是否可以使用查询性能计数器(Win32,C)获取时间戳
- C或C++代码,使用时区从epoch时间戳中获取一天中的小时数
- ffmpegc/c++获取帧计数或时间戳和fps
- 在后续调用中获取相同的时间戳值
- 如何从时间戳的间隔中获取天数列表