问题标签 [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.
c++11 - std::chrono,将持续时间添加到 time_point
我正在尝试为 Qt (C++11/MinGW) 中的 time_point 添加一些持续时间,但我遇到了麻烦:
初始化(程序启动时):
...
一些活动离线:
...
当活动恢复时,我需要将离线时间添加到我的开始时间:
即使编译和执行没问题,程序的行为就像我加零一样。
如何为 time_point 添加或减去持续时间?
c++ - 测量 printf 和 std::cout [C++] 的纳秒级性能/速度的更有效方法
我正在测量 printf 和 cout 用于给定输出(数字)的时间量,并想知道是否有更好的方法来测量 C++ 中的纳秒精度(或者此代码是否需要改进)。
我听说 chrono 的 now() 函数非常精确,但是有没有更好的方法(或更高效、更快等)来执行这些操作?
c++ - 将 std::chrono::system_clock::time_point::min() 转换为字符串时出现无效的空指针错误
我正在关注 Nicolai M. Josuttis 的“The C++ Standard Library (Second Edition)”,第 152-153 页中的一个示例,该示例详细说明了打印std::chrono::system_clock
C++ 中引入的时代、当前时间、最小和最大时间的示例11.
我正在使用 Microsoft Visual Studio 2012,并且<xstring>
由于无效的空指针而触发了一个断言。这发生在std::string ts = std::ctime( &t )
下面的代码行设置后tp = std::chrono::system_clock::time_point::min();
这是由于<chrono>
图书馆中 Dinkumware 的实施错误,还是只是书中的错字/错误?我一遍又一遍地检查了书中给出的代码,看看我是否将其复制错误,但似乎并非如此。我将非常感谢您提供的任何见解。
c++ - C++ 代码分叉取决于 G++ 版本
我的 std::chrono 有点问题。
根据 G++ 版本,一些关键词会发生变化(monotonic_clock/steady_clock)。
我想做这样的事情:(伪代码)
我在谷歌上找不到任何信息,也许我没有好的关键字。
c++ - 如何在不使用 time_t 的情况下将 std::chrono::time_point 转换为 std::tm?
我想打印或提取年/月/日值。
因为2038年的问题我不想用time_t
,但是我在网上找到的所有例子都用它转换time_point
成tm
.
有没有一种简单的方法可以从 time_point 转换为 tm (最好没有 boost)?
像libc中的timesub这样的实现将是我最后的选择: http ://www.opensource.apple.com/source/Libc/Libc-262/stdtime/localtime.c
编辑:阅读建议的链接并进行更多研究后,我得出以下结论。
- 使用 64 位长的 time_t 是可以的(对于大多数目的)。
- 将 Boost.Date_Time 用于可移植代码。
值得注意的是 Boost.Date_Time 可以是一个只有头文件的库。来源: http: //www.boost.org/doc/libs/1_53_0/more/getting_started/unix-variants.html#header-only-libraries
c++ - 使用 std::chrono 在 C++ 中输出日期和时间
我一直在升级一些旧代码,并在可能的情况下尝试更新到 c++11。以下代码是我用来在程序中显示时间和日期的方式
我想使用 std::chrono(或类似的)以类似的格式输出当前时间和日期,但我不确定如何去做。任何帮助将不胜感激。谢谢
c++ - 未安装 Boost_chrono 库
我正在尝试使用 boost_chrono 获得 C++ 的精确时间戳,但是由于某种原因我无法链接 boost_chrono 库。
我已按照以下步骤操作:
- 下载提升 1.53.0
- 提取文件,并
sudo ./bjam
在文件夹的根目录中运行。 - 不知道这些库放在哪里,它们不在我的
/usr/lib
文件夹中,所以运行sudo apt-get install libboost-all-dev
. - Boost 库现在在
/usr/lib
但boost_chrono
不存在。
我收到错误消息:
libboost_chrono.a
在boost_1_53_0/stage/lib
and中boost_1_53_0/bin.v2/libs
,但将它们添加为库搜索路径并没有帮助。
我正在添加
到 C++ 编译。
有人对此有什么建议吗?任何与图书馆相关的文档对于初学者来说都是非常不透明的,我似乎无处可去。
谢谢。
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
我应该如何以毫秒为单位获取当前日期?
chrono - 如何将 std::chrono::system_clock::duration 转换为 struct timeval
标题说明了一切。
我必须实现一个接收 std::chrono::system_clock::duration 值的函数,并且需要将其转换为 timeval sruct,以便我可以将其传递给某个系统函数。
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 错误?!