2016-07-20 4 views
-2

私は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 

理由何ができますか?

答えて

2

'7/18/2016'の文字列は、'%m/%d/%y'という形式で解析されています。

%yは、年の部分を2桁の形式で解析しようとします(したがって、あなたの日付オブジェクトの年は1920年です)。したがって、201620になり、エラーの内容は16になります。

%yの代わりに%Y(年を4桁で区切る)を使用する必要があります。

0

使用この:

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

(Iは大文字小文字Yyを変更しました。)

0

一部を "追加" と間違って何もありません。あなたはちょうど間違ったformatingを使用します。

あなたはそれを変更する必要があります。あなたがhereを見ることができるよう

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

あなたが年4桁を使用しているため、yYに変更しました。

関連する問題