验证日期格式的简单方法

时间:2019-03-21 00:30:11

标签: python

我正在定义一个新功能

from dateutil.parser import parse as dateparse

def validate(timestamp):
    if (timestampe is a true timestamp of proper year, month, day): 
        print("Yes it is correct format")
    else: 
        print("No. It is not in proper format")

#Example:
day1 = dateparse('2018-01-01')
print(type(day1))
>> <class 'datetime.datetime'>
day2 = '2018-10-7'
print(type(day2))
>> <class 'str'>
# Now above function should predict above results
validate(day1)
>> Yes it is correct format
validate(day2)
>> No. It is not in proper format

我上面定义的函数的内容应经过哪些验证才能达到以上目标?

1 个答案:

答案 0 :(得分:2)

您不希望使用dateparse,因为它会尝试猜测格式,而不是强制执行特定格式。

相反,您想使用带有更严格模板的datetime.strptime。另外,应该在if调用周围使用else / try分支,而不是except / strptime分支。

通过阅读代码here,您可以找出正确的格式作为strptime的模板。