如何获取当前UTC时间?

问题描述 投票:0回答:1

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

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

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

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

windows-runtime c++-winrt
1个回答
3
投票

看起来像是文档错误。 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 中是我的想法,所以讨厌的人知道该怪谁。 :)

© www.soinside.com 2019 - 2024. All rights reserved.