DATEの複数フォーマット対応Validationチェック - lucen2k/python GitHub Wiki

from datetime import datetime

# DATE format check (複数フォーマット)
def _check_date_format(ymd):
    if _isDateValid_1(ymd) or _isDateValid_2(ymd) or _isDateValid_3(ymd):
        return True
    return False

def _isDateValid_1(date, pattern = "%Y/%m/%d"):
    try:
        datetime.strptime(date, pattern)
        return True
    except ValueError:
        return False
def _isDateValid_2(date, pattern = "%Y-%m-%d"):
    try:
        datetime.strptime(date, pattern)
        return True
    except ValueError:
        return False
def _isDateValid_3(date, pattern = "%Y%m%d"):
    try:
        datetime.strptime(date, pattern)
        return True
    except ValueError:
        return False

ymd = '2020/01/23'
print(_check_date_format(ymd))
ymd = '2020-01-23'
print(_check_date_format(ymd))
ymd = '20200123'
print(_check_date_format(ymd))