我有一个python方法接受日期输入作为字符串.
如何添加验证以确保传递给方法的日期字符串位于ffg中.格式:
'YYYY-MM-DD'
Run Code Online (Sandbox Code Playgroud)
如果不是,方法应该引发某种错误
如何检查字符串是否可以解析为日期?
这些都是有效的日期.如果对第3项和上一项中的内容之间缺乏空间有任何疑虑,可以通过在字母/字符和数字之间自动插入空格(如果需要)来轻松解决.
但首先,基础知识:
我试过把它放在if statement:
if datetime.strptime(item, '%Y') or datetime.strptime(item, '%b %d %y') or datetime.strptime(item, '%b %d %Y') or datetime.strptime(item, '%B %d %y') or datetime.strptime(item, '%B %d %Y'):
Run Code Online (Sandbox Code Playgroud)
但是这是在try-except块中,并且不断返回这样的内容:
16343 time data 'JUNE1890' does not match format '%Y'
Run Code Online (Sandbox Code Playgroud)
除非,它符合if声明中的第一个条件.
为了澄清,我实际上并不需要日期的价值 - 我只是想知道它是否是.理想情况下,它会是这样的:
if item is date:
print date
else:
print "Not a date"
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?