问题标签 [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++ - 打印/阅读时的奇怪行为
我正在尝试保存std::time_point
并std::stream
读回它。一个问题是在某处使用标准函数会“损失”一个小时。即,我阅读的时间比我写作的时间晚 1 小时。我怀疑我需要在某个地方设置夏令时。我编写了一个小程序,将时间打印到 astd::stringstream
并将其读回。
最奇怪的是程序会打印以下内容:
当我取消注释程序末尾的 3 行(打印时间点之间的差异)时,结果是:
请注意,dst(夏令时)突然不相等,时间也不相等。
我在带有 XCode46-DP2 的 Mac OS X 10.8.2 上使用 libc++。我使用的 clang++ 版本是Apple clang version 4.1
和clang version 3.2 (trunk 167239)
我想我的问题是:A)关于 1 小时的差异,这是我的库中的错误还是我没有正确使用标准函数?(后者不会让我感到惊讶......)
B)当我在程序末尾取消注释三行时,代码发生了什么?这对我来说似乎是一个错误。有人愿意在他们的平台上尝试吗?
c++ - GCC 中的 std::put_time 实现状态?
我试图使用 GCC 编译这个示例程序(测试版本 4.5.1、4.6.3、4.8.4):
我想,可能它还没有实现。所以我试图检查这个函数的实现状态。我只找到了这个页面:
但在那里我找不到任何关于put_time
或chrono
类似的注释。谁能指出我提供有关该库的实施状态信息的资源?
c++ - 精确的时间测量
我在 C++ 中使用 time.h 来测量函数的时间。
但是,我总是将时间设为 0.0000。分开打印时,clock() 和 t 具有相同的值。我想知道是否有办法在 C++ 中精确测量时间(可能是纳秒级)。我正在使用VS2010。
c++ - 如何获取持续时间,如整数毫秒和浮点秒数?
我正在尝试将 chrono 库用于计时器和持续时间。
我希望能够有一个Duration frameStart;
(从应用程序开始)和一个Duration frameDelta;
(帧之间的时间)
我需要能够以frameDelta
毫秒和浮点秒为单位获得持续时间。
你如何使用新的 c++11<chrono>
库来做到这一点?我一直在研究它并在谷歌上搜索(信息很少)。代码被大量模板化,需要特殊的演员表和东西,我不知道如何正确使用这个库。
c++ - Windows 精确计时:CreateTimerQueueTimer 或 system_clock::now() 中的错误?
我正在努力实现 +/- ms 的计时精度。我希望线程之间的时间为 10 毫秒,但是当我测量时间时,我得到的结果接近 15 毫秒。
我试图了解问题是由于我测量时间的方式引起的,还是由于我测量时间准确而导致的延迟 CreateTimerQueueTimer
我的代码看起来像
输出看起来像
c++ - 将 std::chrono::time_point 转换为 unix 时间戳
我怎样才能获得std::chrono::duration
自固定日期以来的信息?我需要它来将 a 转换std::chrono::time_point
为 unix 时间戳。
将代码插入 XXX
我知道time_point
有一种方法time_since_epoch()
,但不能保证这与 unix 纪元(1970 年 1 月 1 日 00:00:00 UTC)相同。
c++ - 使用 C++ Chrono 处理更新循环?
我肯定对新的 C++ chrono 库有点迷失了。
这里我有一个更新循环。它运行两个操作:
这些都是长时间的操作,很难说它们有多长。
因此,我们测量它们花费了多长时间,然后进行一些计算并找出在调用渲染之前逐渐调用更新的最佳方法。
为此,我使用了 C++11 的 Chrono 功能。我选择它是因为它听起来很划算:更准确,更依赖于平台。我发现我遇到的问题比现在更多。
以下是我的代码,也是我的主要问题。非常需要有关问题或进行操作的正确方法的任何帮助!
我在有问题的行旁边的评论中直接标记了我的问题,我将在下面重复。
头文件:
简化的更新循环
主要问题是:我的 mDeltaTime 总是很小。它基本上陷入了一个几乎无限的循环。这是因为 kMaxDeltatime 非常小,但如果我的目标是每秒 60 帧,我计算的不是正确的毫秒数吗?
以下是上面列出的所有问题:
我很抱歉混淆了伙计们。我觉得这个 chrono 库是个白痴。大多数帮助站点、参考资料,甚至直接代码本身都很难阅读和理解我所应用的内容。非常欢迎指出我应该如何搜索解决方案或代码!
编辑:Joachim 指出 std::min/max 可以在几毫秒内正常工作!更新了代码以反映更改。
c++ - std::chrono:将自定义持续时间添加到 time_point
以下代码确实编译(g++ 4.7.2
):
我的问题是我不知道有什么类型t3
。它不是timepoint_t
,并且取消注释具有明确给出的类型的行将无法编译。函数调用也一样:我不能do_something
用t3
.
所以我的问题是:
- 为什么转换失败?
- 获得双精度秒持续时间的最佳方法是什么?
我知道我可以像这样使用额外的演员表
但我想避免这种情况。
先感谢您!
c++ - std::put_time() 的问题
嗨,我在这里有一个非常简单的测试用例,可以在 Visual Studio 2012 下编译。但是它会产生运行时失败。产生此故障的行与 cppreference.com 上的许多与时间功能相关的示例完全相同。带有示例的页面就像这样http://en.cppreference.com/w/cpp/chrono/c/localtime
为了保持这篇文章干净,我把堆栈跟踪放在这里 http://ideone.com/WaeQcf
c++ - g++ vs intel/clang 参数传递顺序?
考虑以下代码(LWS):
您必须多次运行它,因为有时没有明显的区别。first
但是当和的求值时间有明显差异时,second
在 g++ 下的结果如下:
以及 intel 和 clang 下的以下内容:
这意味着在 g++ 下,second
首先评估参数,而在 intel 和 clang 下,first
首先评估参数。
根据 C++11 标准,哪一个是正确的?