【问题标题】:Parse JSON ISO8601 date in C++/CX在 C++/CX 中解析 JSON ISO8601 日期
【发布时间】:2012-07-30 20:55:13
【问题描述】:

我有一个来自 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);

有人知道吗?

【问题讨论】:

    标签: c++ microsoft-metro windows-runtime atl c++-cx


    【解决方案1】:

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

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

    SYSTEMTIME 转换为DateTime 的代码:How do I parse a date in a Metro (C++/CX) app?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-12
      • 1970-01-01
      • 2012-10-28
      • 2012-01-30
      • 1970-01-01
      • 2012-07-21
      相关资源
      最近更新 更多