python判断字符串是否是有效日期的两种方法

方法一:指定日期格式

1
2
3
4
5
6
7
8
9
10
11
12
import datetime
def is_valid_date(date_string):
try:
datetime.datetime.strptime(date_string, '%Y-%m-%d')
return True
except ValueError:
return False
print(is_valid_date('2017-02-28')) #True
print(is_valid_date('2017-02-29')) #False

如需指定其他的日期格式,修改函数中的'%Y-%m-%d',例如,%d/%m/%Y'%Y-%m-%d %H:%M:%S'等。

方法二:不显示指定日期格式

首先,安装datetime模块的扩展包:

1
pip install dateutils

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
from dateutil.parser import parse
def is_valid_date(date_string):
try:
parse(date_string)
return True
except ValueError:
return False
print(is_valid_date('2017-02-28')) #True
print(is_valid_date('2017-02-29')) #False
print(is_valid_date('28/02/2017')) #True
print(is_valid_date('2017-02-28 18:21:00')) #True
print(is_valid_date('Feb 28, 2017')) #True
大师兄 wechat
欢迎关注我的微信公众号:Python大师兄