我使用Python在Python中为特定日期添加2天。使用datetime.now()
,我可以增加2天。但不使用特定日期。这是代码:
import datetime
start_date = datetime.datetime.strptime('7/18/2016','%m/%d/%y')
date_to_start_predicting = start_date + datetime.timedelta(days=2) # Add 2 days
print(date_to_start_predicting)
但我得到以下错误:
Traceback (most recent call last):
File "C:/Users/Admin/Projects/DateAdd.py", line 3, in <module>
start_date = datetime.datetime.strptime('7/18/2016','%m/%d/%y')
File "C:Python27lib_strptime.py", line 328, in _strptime
data_string[found.end():])
ValueError: unconverted data remains: 16
原因可能是什么?
您正在解析格式为'%m/%d/%y'
的字符串'7/18/2016'
。
%y
尝试以2位数字的格式解析年份部分(因此日期对象的年份是1920)。所以2016
变成了20
,而16
剩下了,这就是错误所说的。
您应该使用%Y
(以4位数的格式解析年份)而不是%y
。
使用此:
start_date = datetime.datetime.strptime('7/18/2016','%m/%d/%Y')
(我已将小写的y
更改为大写的Y
。)
"添加"部分没有错。你只是使用了错误的格式。
您应该将其更改为:
start_date = datetime.datetime.strptime('7/18/2016','%m/%d/%Y')
正如你在这里看到的。
我把y
改成了Y
,因为你每年使用4位数。