2011-12-08 18 views
3

日付形式を確認するにはどうすればよいですか?形式を2011-12-08 16:59:18にしてください。いくつかのC++のやり方があります。前もって感謝します。いくつかのテスト条件がありますが、これらに限定されません。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 

答えて

5

正規表現を入力します。おそらく後者をする時間が少なくなります。

+0

を使用することができますし、おそらくそれは、正規表現バージョンより効率的です。 –

+0

シンプルな正規表現は明白なエラーをキャッチするかもしれませんが、2月の処理のようなもの...うるう年などは正規表現にはあまりにも多すぎるかもしれません –

+0

私はちょうど各文字を使って単純なループを行い、isNumericが私のために働くようです。ありがとうすべて – user1054513

2

あなたはstrptimeは、tm構造体に文字列の形式から日付を変換するために使用することができます。

また、あなたはBoost Date Time Input/Output

関連する問題