我想知道转换的最简单方法是什么
Windows::Foundation::DateTime dt = winrt::clock::now();
变成字符串?
答案 0 :(得分:0)
本身没有“转换”。我怀疑您要寻找的是某种日期/时间格式化实用程序。
C ++ 20将在此领域带来大大改进的支持,但目前还没有。
可移植但功能较差的方法是将其转换为time_t并使用C库。 https://en.cppreference.com/w/cpp/chrono/c
在WinRT中执行此操作的功能齐全的方法是在此处https://docs.microsoft.com/en-us/uwp/api/windows.globalization.datetimeformatting使用日期格式设置实用程序
答案 1 :(得分:0)
这不漂亮,但是您可以这样做:
winrt::Windows::Foundation::DateTime dt = winrt::clock::now();
std::time_t t = dt.time_since_epoch().count();
std::wstringstream wss;
wss << std::put_time(std::localtime(&t), L"%m/%d/%Y %H:%M:%S");
winrt::hstring hs{ wss.str() };