问题标签 [chrono]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2468 浏览

c++11 - std::chrono,将持续时间添加到 time_point

我正在尝试为 Qt (C++11/MinGW) 中的 time_point 添加一些持续时间,但我遇到了麻烦:

初始化(程序启动时):

...

一些活动离线:

...

当活动恢复时,我需要将离线时间添加到我的开始时间:

即使编译和执行没问题,程序的行为就像我加零一样。

如何为 time_point 添加或减去持续时间?

0 投票
0 回答
73 浏览

c++ - 测量 printf 和 std::cout [C++] 的纳秒级性能/速度的更有效方法

我正在测量 printf 和 cout 用于给定输出(数字)的时间量,并想知道是否有更好的方法来测量 C++ 中的纳秒精度(或者此代码是否需要改进)。

我听说 chrono 的 now() 函数非常精确,但是有没有更好的方法(或更高效、更快等)来执行这些操作?

0 投票
1 回答
1221 浏览

c++ - 将 std::chrono::system_clock::time_point::min() 转换为字符串时出现无效的空指针错误

我正在关注 Nicolai M. Josuttis 的“The C++ Standard Library (Second Edition)”,第 152-153 页中的一个示例,该示例详细说明了打印std::chrono::system_clockC++ 中引入的时代、当前时间、最小和最大时间的示例11.

我正在使用 Microsoft Visual Studio 2012,并且<xstring>由于无效的空指针而触发了一个断言。这发生在std::string ts = std::ctime( &t )下面的代码行设置后tp = std::chrono::system_clock::time_point::min();

这是由于<chrono>图书馆中 Dinkumware 的实施错误,还是只是书中的错字/错误?我一遍又一遍地检查了书中给出的代码,看看我是否将其复制错误,但似乎并非如此。我将非常感谢您提供的任何见解。

0 投票
1 回答
301 浏览

c++ - C++ 代码分叉取决于 G++ 版本

我的 std::chrono 有点问题。

根据 G++ 版本,一些关键词会发生变化(monotonic_clock/steady_clock)。

我想做这样的事情:(伪代码)

我在谷歌上找不到任何信息,也许我没有好的关键字。

0 投票
3 回答
18029 浏览

c++ - 如何在不使用 time_t 的情况下将 std::chrono::time_point 转换为 std::tm?

我想打印或提取年/月/日值。

因为2038年的问题我不想用time_t,但是我在网上找到的所有例子都用它转换time_pointtm.

有没有一种简单的方法可以从 time_point 转换为 tm (最好没有 boost)?


libc中的timesub这样的实现将是我最后的选择: http ://www.opensource.apple.com/source/Libc/Libc-262/stdtime/localtime.c


编辑:阅读建议的链接并进行更多研究后,我得出以下结论。

  1. 使用 64 位长的 time_t 是可以的(对于大多数目的)。
  2. 将 Boost.Date_Time 用于可移植代码。

值得注意的是 Boost.Date_Time 可以是一个只有头文件的库。来源: http: //www.boost.org/doc/libs/1_53_0/more/getting_started/unix-variants.html#header-only-libraries

0 投票
8 回答
118964 浏览

c++ - 使用 std::chrono 在 C++ 中输出日期和时间

我一直在升级一些旧代码,并在可能的情况下尝试更新到 c++11。以下代码是我用来在程序中显示时间和日期的方式

我想使用 std::chrono(或类似的)以类似的格式输出当前时间和日期,但我不确定如何去做。任何帮助将不胜感激。谢谢

0 投票
2 回答
4341 浏览

c++ - 未安装 Boost_chrono 库

我正在尝试使用 boost_chrono 获得 C++ 的精确时间戳,但是由于某种原因我无法链接 boost_chrono 库。

我已按照以下步骤操作:

  1. 下载提升 1.53.0
  2. 提取文件,并sudo ./bjam在文件夹的根目录中运行。
  3. 不知道这些库放在哪里,它们不在我的/usr/lib文件夹中,所以运行sudo apt-get install libboost-all-dev.
  4. Boost 库现在在/usr/libboost_chrono不存在。

我收到错误消息:

libboost_chrono.aboost_1_53_0/stage/liband中boost_1_53_0/bin.v2/libs,但将它们添加为库搜索路径并没有帮助。

我正在添加

到 C++ 编译。

有人对此有什么建议吗?任何与图书馆相关的文档对于初学者来说都是非常不透明的,我似乎无处可去。

谢谢。

0 投票
4 回答
5568 浏览

c++ - 与 std::chrono::system_clock 完全分开的日期,以毫秒为单位

我当前的模式(对于 unix)是调用gettimeofday,将tv_sec字段转换为 a time_t,将其传递给localtime,然后将结果与tv_usec. 这给了我一个完整的日期(年、月、日、小时、分钟、秒、纳秒)。

我正在尝试将我的代码更新为 C++11,以实现可移植性和一般的良好实践。我能够做到以下几点:

但我被困在毫秒/纳秒上。一方面,to_time_t声称舍入是实现定义的(!)所以我不知道 22.6 秒的最终读数是否实际上应该是 21.6,另一方面我不知道如何获得自前一秒以来的毫秒数(标准保证秒数是正常的吗?即我可以得到自纪元以来的总毫秒数并对其取模吗?即使可以,但感觉很难看)。

std::chrono::system_clock我应该如何以毫秒为单位获取当前日期?

0 投票
2 回答
5486 浏览

chrono - 如何将 std::chrono::system_clock::duration 转换为 struct timeval

标题说明了一切。

我必须实现一个接收 std::chrono::system_clock::duration 值的函数,并且需要将其转换为 timeval sruct,以便我可以将其传递给某个系统函数。

0 投票
1 回答
7766 浏览

c++ - c++ chrono duration_cast to milliseconds 结果以秒为单位

我想知道自纪元以来的毫秒数。一个流行的解决方案如下所示(这里提出的这个问题的解决方案之一是Get time since epoch in milliseconds,最好使用 C++11 chrono

通过调用g++like来编译它会g++ -std=c++11 main.cpp -o timetest导致输出

这等于自纪元以来的秒数!

这是 glibc 中的错误吗?在 g++ 中?我的错?


更新:它在使用 g++ 4.8 时有效。所以这是一个 gcc 错误?!