怎样校验yyyy-mm-dd格式的时间是否和法
时间: 2023-10-31 10:10:31 浏览: 81
可以使用正则表达式来校验yyyy-mm-dd格式的时间是否合法,例如以下代码:
```python
import re
def is_valid_date(date):
# 正则表达式匹配yyyy-mm-dd格式的时间
pattern = re.compile(r'^\d{4}-\d{2}-\d{2}$')
if not pattern.match(date):
return False
# 判断年月日是否合法
year, month, day = map(int, date.split('-'))
if month < 1 or month > 12 or day < 1 or day > 31:
return False
if month in [4, 6, 9, 11] and day > 30:
return False
if month == 2:
if day > 29:
return False
if day == 29 and (year % 4 != 0 or (year % 100 == 0 and year % 400 != 0)):
return False
return True
```
该函数首先使用正则表达式匹配输入的时间是否符合yyyy-mm-dd格式,如果不符合则返回False。然后将年月日拆分出来,判断是否合法。例如,月份必须在1-12之间,日期必须在1-31之间(根据具体月份判断是否合法),2月份还需要判断是否是闰年。如果所有判断都通过,则返回True,说明时间合法。