【python】判断日期字符串的有效性
来源:https://www.cnblogs.com/dplearning/p/5737966.html
用time模块的strptime函数获取时间元组,如果成功为合法时间,反之为非法时间
1 def isVaildDate(self, date): 2 try: 3 if ":" in date: 4 time.strptime(date, "%Y-%m-%d %H:%M:%S") 5 else: 6 time.strptime(date, "%Y-%m-%d") 7 return True 8 except: 9 return False
Python time strptime()方法
描述
Python time strptime() 函数根据指定的格式把一个时间字符串解析为时间元组。
语法
strptime()方法语法:
time.strptime(string[, format])
参数
- string -- 时间字符串。
- format -- 格式化字符串。
返回值
返回struct_time对象。
说明
python中时间日期格式化符号:
- %y 两位数的年份表示(00-99)
- %Y 四位数的年份表示(000-9999)
- %m 月份(01-12)
- %d 月内中的一天(0-31)
- %H 24小时制小时数(0-23)
- %I 12小时制小时数(01-12)
- %M 分钟数(00=59)
- %S 秒(00-59)
- %a 本地简化星期名称
- %A 本地完整星期名称
- %b 本地简化的月份名称
- %B 本地完整的月份名称
- %c 本地相应的日期表示和时间表示
- %j 年内的一天(001-366)
- %p 本地A.M.或P.M.的等价符
- %U 一年中的星期数(00-53)星期天为星期的开始
- %w 星期(0-6),星期天为星期的开始
- %W 一年中的星期数(00-53)星期一为星期的开始
- %x 本地相应的日期表示
- %X 本地相应的时间表示
- %Z 当前时区的名称
- %% %号本身
实例
以下实例展示了 strptime() 函数的使用方法:
1 #!/usr/bin/python 2 import time 3 4 struct_time = time.strptime("30 Nov 00", "%d %b %y") 5 print(type(struct_time)) 6 print("returned tuple: %s " %(str(struct_time))) 7 8 #<class 'time.struct_time'> 9 #returned tuple: time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)
1 print(time.strptime("2018-05-02 12:23:34","%Y-%m-%d %H:%M:%S")) 2 3 #time.struct_time(tm_year=2018, tm_mon=5, tm_mday=2, tm_hour=12, tm_min=23, tm_sec=34, tm_wday=2, tm_yday=122, tm_isdst=-1)