2016-07-20 106 views
-2

我正在使用Python將2天添加到Python中的特定日期。使用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 

可能是什麼原因?

回答

2

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

%y試圖以2位數字格式解析年份(所以您的日期對象的年份是1920)。所以2016變成2016剩下的就是錯誤所說的。

您應該使用%Y(以4位數格式解析年份)而不是%y

0

使用此:

start_date = datetime.datetime.strptime('7/18/2016','%m/%d/%Y') 

(我已經改變了小寫y爲大寫Y。)

0

沒有什麼錯的 「並稱」 部分。你只是使用錯誤的格式。

您應將其更改爲:

start_date = datetime.datetime.strptime('7/18/2016','%m/%d/%Y') 

,你可以看到here

我將y更改爲Y,因爲您使用4位數年份。