C++检查日期是否有效

MBZ*_*MBZ 8 c++ time date

是否有任何功能来检查给定日期是否有效?我不想从头开始写任何东西.

例如32/10/2012无效且10/10/2010有效

spe*_*rcw 7

如果您的字符串始终采用该格式,则最简单的方法是将字符串拆分为三个组件,填充tm结构并将其传递给mktime().如果它返回-1则它不是有效日期.

您还可以使用Boost.Date_Time来解析它:

string inp("10/10/2010");
string format("%d/%m/%Y");
date d;
d = parser.parse_date(inp, format, svp);
Run Code Online (Sandbox Code Playgroud)

  • [mktime](http://en.cppreference.com/w/cpp/chrono/c/mktime):_时间值允许超出其正常范围_ (4认同)
  • svp 和解析器是什么? (2认同)