我正在定义一个新功能
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
我上面定义的函数的内容应经过哪些验证才能达到以上目标?
答案 0 :(得分:2)
您不希望使用dateparse,因为它会尝试猜测格式,而不是强制执行特定格式。
相反,您想使用带有更严格模板的datetime.strptime
。另外,应该在if
调用周围使用else
/ try
分支,而不是except
/ strptime
分支。
通过阅读代码here,您可以找出正确的格式作为strptime
的模板。