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)这样加参数是错的,就加了。

结束!

原文地址:https://www.cnblogs.com/aaronthon/p/10846932.html