在特定日期添加天数时获取值错误

时间:2016-07-20 10:36:26

标签: python datetime

我正在使用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

可能是什么原因?

3 个答案:

答案 0 :(得分:2)

您正在使用格式'7/18/2016'解析字符串'%m/%d/%y'

%y尝试以2位数格式解析年份部分(因此日期对象的年份为1920)。因此,2016变为2016留下了错误所在的内容。

您应该使用%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位数字。