C ++检查有效的日期时间格式

时间:2011-12-08 22:05:53

标签: c++ validation datetime format

什么是检查日期格式的好方法,我希望格式为2011-12-08 16:59:18我有提升会使用正则表达式是最好的方法或是否有一些C ++方式来做它。提前致谢。这里有一些测试条件,但不限于这些。

所以例如某人进入

2011-2-08 16:59:18 //incorrect date month needs to have 2 digits 02
2011-02-08 16:9:18  //incorrect minuets needs to have 2 digits 09
2011-02-0X 16:09:18 //incorect alpha character for day no alpha except - and :
2011-12-08 16:59:18 // correct

2 个答案:

答案 0 :(得分:5)

正则表达式可以工作,或者您可以只是遍历字符串并测试每个字符以确保它符合您的预期。你可能会花更少的时间来做后者。

答案 1 :(得分:2)

您可以使用 strptime 将日期从字符串格式转换为tm结构。

您也可以使用 Boost Date Time Input/Output