将日期添加到特定日期时出现Getting Value错误



我使用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位数。

相关内容

  • 没有找到相关文章