rid*_*ous 5 c++ windows filetime c++-chrono c++20
我正在寻找一种将 WindowsFILETIME结构转换为 a 的方法std::chrono::time_point< std::chrono::file_clock>,以便我可以建立两个文件时间之间的差异并在std::chrono::microseconds.
免责声明: 我没有 Windows 系统可供测试。
我相信人们只需要获取 的高位和低位字FILETIME并将该 64 位整数值解释为自纪元以来的十分之一微秒数std::chrono::file_clock:
FILETIME ft = ...
file_clock::duration d{(static_cast<int64_t>(ft.dwHighDateTime) << 32)
| ft.dwLowDateTime};
file_clock::time_point tp{d};
Run Code Online (Sandbox Code Playgroud)
FILETIME和的单位和纪元file_clock(在 Windows 上)是相同的。