3

我有一个来自 JSON“2012-08-01T15:42:06Z”的日期字符串,并希望在 Windows 运行时解析它。据我所知,只有COleDateTime可以处理这个问题。

当我取出“T”和“Z”字符时,我只能让它正确解析字符串,但这增加了一个额外的解析步骤。

作品:

COleDateTime dateTime;
dateTime.ParseDateTime(L"2012-08-01 15:42:06", 0UL, 1033UL);

失败:

COleDateTime dateTime;
dateTime.ParseDateTime(L"2012-08-01T15:42:06Z", 0UL, 1033UL);

有人知道吗?

4

1 回答 1

4

如果您的日期字符串格式一致,则可以使用std::get_time将时间解析为tm结构,将相关位复制到 a中,然后SYSTEMTIME从那里转换为 a FILETIME,然后再转换为Windows::Foundation::DateTime

信息std::get_timehttp ://en.cppreference.com/w/cpp/io/manip/get_time

转换为SYSTEMTIME的代码DateTime如何在 Metro (C++/CX) 应用程序中解析日期?

于 2012-08-02T16:32:19.263 回答