Pythonで日時(datetime)の形のバリデーションを行いたいとき
今回はPythonで日時(datetime)の形のバリデーションを行いたいときどのようにすれば良いのかについてご紹介いたします。
Python3です。
Pythonで日時(datetime)の形のバリデーションを行いたいとき
結論を書くと、try catchを使ってstrptimeできるかどうかで日時(datetime)の形のバリデーションを行います。
1 2 3 4 5 6 |
from datetime import datetime testString='2022-01-17 18:30' try: datetime.strptime(testString, '%Y-%m-%d %H:%M') except ValueError: raise ValueError('testString is incorrect data format') |
上記の場合では、38時など不正な値を入れるとバリデーションが働きエラーが検出できます。
1 2 3 4 5 6 |
from datetime import datetime testString='2022-01-17 38:30' try: datetime.strptime(testString, '%Y-%m-%d %H:%M') except ValueError: raise ValueError('testString is incorrect data format') |
1 2 3 |
Traceback (most recent call last): File "<stdin>", line 4, in <module> ValueError: testString is incorrect data format |
終わりに
今回はPythonで日時(datetime)の形のバリデーションを行いたいときどのようにすれば良いのかについてご紹介いたしました。
ディスカッション
コメント一覧
まだ、コメントがありません