【发布时间】:2017-06-06 13:20:42
【问题描述】:
我正在尝试解析一个包含每个月和日的单个数字的日期。以下解析正确:
std::istringstream ss("2015/05/01");
std::tm tmb = { 0, 0, 0, 0, 0, 0, 0, 0, 0 };
ss >> std::get_time(&tmb, "%Y/%m/%d");
但是当我尝试解析时
std::istringstream ss("2015/5/1");
我在流中得到一个失败的状态,并且时间没有正确读入结构。有没有一种干净(有效)的方法可以解析这个?
编辑:我正在 Ubuntu 12.04 和编译器 g++ 5.4.1 上开发。
【问题讨论】:
-
%d和%m的前导 0 是可选的。它使用 clang (8.1) 和 libc++ 在 OS X 上正确解析。也许错误在您的 std 库的std::get_time或代码中的其他地方。 -
你用的是什么编译器?
-
我在 linux 机器上使用 g++ 5.4.1
标签: c++ date-parsing