ValueError: day is out of range for month
日期超出范围。
我当时使用datetime模块生成时间格式数据,手误传错参数导致的结果。所以,好好检查数据就可解决问题。
如下:
# 将字符串类型数据转化成时间结构数据
# 原想写成如下代码
import datetime date_init = '2019-05-10 00:00:00' date_end = datetime.datetime(int(date_init.split('-')[0]), int(date_init.split('-')[1]),int(date_init.split('-')[2].split(' ')[0].lstrip('0')), int(date_init.split('-')[2].split(' ')[1].split(':')[0]), int(date_init.split('-')[2].split(' ')[1].split(':')[1]), int(date_init.split('-')[2].split(' ')[1].split(':')[2])) print date_end,type(date_end)
# 手抖写错,如下:
import datetime date_init = '2019-05-10 00:00:00' date_end = datetime.datetime(int(date_init.split('-')[0]), int(date_init.split('-')[1]),int(date_init.split('-')[2].split(' ')[0].lstrip('1')), int(date_init.split('-')[2].split(' ')[1].split(':')[0]), int(date_init.split('-')[2].split(' ')[1].split(':')[1]), int(date_init.split('-')[2].split(' ')[1].split(':')[2])) print date_end,type(date_end)
导致出错。
其实.lstrip('0')可以不加,当时考虑给datetime.datetime(2019,05,05,00,00,00)这样加参数是错的,就加了。
结束!
本文详细解析了在使用Python的datetime模块进行日期格式转换时,因参数错误导致的ValueError异常,具体为'day is out of range for month'错误。通过对比正确的代码实现与错误示例,展示了如何避免此类常见错误。
1万+

被折叠的 条评论
为什么被折叠?



