c++ - 在 C++ 中解析 RFC3339 日期

标签 c++ datetime winapi

是否有任何函数可用于在 C++ 中解析 RFC3339 日期(即使它们是特定于 Win32 的)?我以前使用 Qt 和 QDateTime::fromString() 函数来解析日期,但我现在使用普通的旧 Win32 C++(无 MFC)并且我正在努力寻找一种方法来实现它。如果没有标准,我可以自己编写,但以防万一我遗漏了什么......

最佳答案

要解析和比较 RFC3339 格式的日期,您可以使用 Howard Hinnant's date library.
它可以按如下方式使用:

#include "date/date.h"
#include <iostream>
#include <sstream>

int main()
{
    using namespace date;
    std::istringstream infile{"2005-08-15T15:52:01+04:00"};
    sys_seconds tp;  // This is a system_clock time_point with seconds precision
    infile >> parse("%FT%T%Ez", tp);
    std::cout << tp.time_since_epoch() << " is " << tp << '\n';
}

“date.h”和“tz.h”的略微修改版本被投票纳入 C++20 工作草案。

关于c++ - 在 C++ 中解析 RFC3339 日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3091804/

相关文章:

python - 在 pandas 中拆垛时保持顺序

ios - 使用 NSDateFormatter 的日期格式化问题

c++ - 无法将缩略图按钮添加到窗口?

c++ - 为什么我的 vector 代码断言?到底什么是断言?

c++ - std::list.sort(),二进制谓词?

javascript - 如何在javascript中检查日期是否在本周?

winapi - 使用 SetWinEventHook Hook 窗口有时不起作用

c# - 在透明 WPF 窗口后面模糊

c++ - vector 中嵌套 vector 的分段故障核心转储

c++ - 这种情况下虚拟继承的行为