我有一个来自 JSON“2012-08-01T15:42:06Z”的日期字符串,并且想要在 Windows 运行时中解析它。据我所知,只有COle日期时间可以处理这个问题。
当我取出“T”和“Z”字符时,我只能让它正确解析字符串,但这增加了一个额外的解析步骤。
WORKS:
COleDateTime dateTime;
dateTime.ParseDateTime(L"2012-08-01 15:42:06", 0UL, 1033UL);
FAILS:
COleDateTime dateTime;
dateTime.ParseDateTime(L"2012-08-01T15:42:06Z", 0UL, 1033UL);
有人有什么想法吗?
如果您的日期字符串格式一致,您可以使用std::get_time
将时间解析为tm
struct,将相关位复制到SYSTEMTIME
并从那里转换为FILETIME
然后到Windows::Foundation::DateTime
.
Info on std::get_time
: http://en.cppreference.com/w/cpp/io/manip/get_time http://en.cppreference.com/w/cpp/io/manip/get_time
转换代码SYSTEMTIME
to DateTime
: 如何解析 Metro (C++/CX) 应用程序中的日期? https://stackoverflow.com/questions/11615998/how-do-i-parse-a-date-in-a-metro-c-cx-app
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)