python中如何确定一个字符串是合法的日期?


需要判断一个日期字符串“2014-01-20”是否为合法的日期。

该如何书写判断呢?比如格式为 “YYYY-MM-DD”

开发 python 日期字符串

小小外星人 10 years, 2 months ago

代码如下:

import datetime
def validate(date_text):
    try:
        datetime.datetime.strptime(date_text, '%Y-%m-%d')
    except ValueError:
        raise ValueError("Incorrect data format, should be YYYY-MM-DD")

>>> validate('2003-12-23')
>>> validate('2003-12-32')

第二个会产生exception如下:

 Traceback (most recent call last):  
 File "<pyshell#20>", line 1, in <module>
      validate('2003-12-32')   
 File "<pyshell#18>", line 5, in validate
      raise ValueError("Incorrect data format, should be YYYY-MM-DD")
 ValueError: Incorrect data format, should be YYYY-MM-DD
不思忆的喵 answered 10 years, 2 months ago

Your Answer