如何获取 UTC 的当前时间?

How to get the current time in UTC?

我正在尝试在 UWP 应用程序中获取 UTC 的当前时间。这应该是构造一个 DateTime 对象

的简单问题
DateTime const now{ clock::now() };

并访问其 UniversalTime 字段。但是,该字段似乎并未投影到 C++/WinRT 中。

如何使用 C++/WinRT 获取 UTC 的当前时间?

看起来像是文档错误。该字段在 C++/WinRT 中不存在。相反,DateTime 被投影为 std::chrono::time_point. But similar to C++/CX, the documentation for the struct (not the field) is still somewhat accurat - it has the same granularity as FILETIME。但比自己提取值更容易,winrt::clock 提供静态方法 to_file_timeto_time_tDateTime 转换为 分别为 FILETIME 或 time_t

我会修复文档,我一直想写一篇博客 post,介绍 C++/WinRT 如何与 std::chrono 无缝互操作以进行计时。我是 std::chrono 的粉丝,将它合并到 C++/WinRT 中是我的主意,所以仇恨者知道该怪谁。 :)