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

3

如何检查日期格式?我希望日期的格式为2011-12-08 16:59:18。我有boost库,使用正则表达式是最好的方法还是有其他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个回答

5

正则表达式可以工作,或者您可以遍历字符串并测试每个字符以确保它是您期望的内容。后一种方法可能会花费更少的时间。


也许它会比正则表达式版本更高效。 - Łukasz Milewski
一个简单的正则表达式可能可以捕捉明显的错误,但对于处理二月份、闰年等内容可能太过复杂了。 - parapura rajkumar
我刚刚通过一个简单的循环遍历了每个字符,并检查了isNumeric,这对我来说似乎有效。谢谢大家。 - user1054513
等一下,连标点符号也要翻译吗? - Matt K

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接