我正在尝试在 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 中是我的想法,所以讨厌的人知道该怪谁。 :)