尝试使用 std::get_time 解析 YYMMDD 并失败

trying to use std::get_time to parse YYMMDD and failing

本文关键字:time 解析 YYMMDD 失败 get std      更新时间:2023-10-16

我正在尝试这样做但失败了:

std::istringstream ss("1212");
ss >> std::get_time(&t, "%y%m");
if (ss.fail()) // every time!

这工作正常:

std::istringstream ss("12-12");
ss >> std::get_time(&t, "%y-%m");

知道我做错了什么吗? 否则我可以使用什么,因为Windows似乎没有SRTPTIME

视窗/VS13蒂亚

Visual Studio似乎没有正确实现规范,GCC直到5.0版本也没有。如果您继续在VS13甚至VS15中使用std::get_time,则需要手动添加分隔符才能解析时间,直到他们最终意识到此错误。