我正在使用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:\Python27\lib\_strptime.py", line 328, in _strptime
data_string[found.end():])
ValueError: unconverted data remains: 16
可能是什么原因?
答案 0 :(得分:2)
您正在使用格式'7/18/2016'
解析字符串'%m/%d/%y'
。
%y
尝试以2位数格式解析年份部分(因此日期对象的年份为1920)。因此,2016
变为20
,16
留下了错误所在的内容。
您应该使用%Y
(以4位数格式解析年份)而不是%y
。
答案 1 :(得分:0)
使用此:
start_date = datetime.datetime.strptime('7/18/2016','%m/%d/%Y')
(我已将小写y
更改为大写Y
。)
答案 2 :(得分:0)
“添加”部分没有任何问题。你只是使用错误的格式化。
您应将其更改为:
start_date = datetime.datetime.strptime('7/18/2016','%m/%d/%Y')
你可以看到here。
我将y
更改为Y
,因为您使用了4位数字。