windows-runtime - 如何获取UTC的当前时间?
问题描述
我正在尝试在 UWP 应用程序中获取 UTC 的当前时间。这应该是构造一个DateTime对象的简单问题
DateTime const now{ clock::now() };
并访问其UniversalTime字段。但是,该字段似乎并未投影到 C++/WinRT 中。
如何使用 C++/WinRT 获取 UTC 的当前时间?
解决方案
看起来像一个文档错误。该字段在 C++/WinRT 中不存在。相反,DateTime
投影为std::chrono::time_point。但与 C++/CX 类似,结构(不是字段)的文档仍然有些准确 - 它与FILETIME具有相同的粒度。但比自己提取值更容易,winrt::clock
提供静态方法to_file_time
并分别to_time_t
转换DateTime
为 FILETIME 或time_t。
我将修复文档,并且我一直打算写一篇关于 C++/WinRT 如何与 std::chrono 无缝互操作以进行计时的博客文章。我是 std::chrono 的粉丝,将它整合到 C++/WinRT 是我的想法,所以讨厌的人知道该怪谁。:)
推荐阅读
- apache2-module - Linux Ubuntu apache2 配置
- c - Check if a command returns nothing in Makefile
- elasticsearch - 当某些节点出现故障时,Elasticsearch 会停止索引数据吗?
- python-3.x - python 3.7中的字符串
- qt - 如何将 Qt-GUI 与 ROS 结合使用?
- python - 为什么在我运行此电子邮件程序时显示“扫描字符串文字时 EOL”?
- javascript - 为什么jQuery不添加类“drop1”?
- html - 未以所需方式显示的答案
- angular - Angular 6 错误:JSONP 注入脚本未调用回调
- javascript - Chrome 浏览器控制台 javascript 参考