2016-06-14 4 views
-2

私は、誰かが正しい方向に日付と時間を使って作業を進めることを願っています。Python:日付を何桁も追加する

私の理解では、日付に任意の数字(例:10日)を追加するには、それをタイムゾーンに変換する必要があります。 これが正しければ、それが整数である場合、どのように数値を日付に追加できますか?

すべてのドキュメントやリンクは素晴らしいです - ありがとうございます。

のコード例は以下のように、私の日付は次のとおりです。

x = 20100103 (formatted as YYYYMMDD) 
+1

最初に数字を追加することは何を意味しますか? 「数字」とは何ですか?それは日数ですか?なぜあなたはPythonの['datetime'と' timedelta'タイプ(https://docs.python.org/2/library/datetime.html)の代わりに整数を使用していますか? – freakish

+0

[これ](http://stackoverflow.com/questions/6871016/adding-5-days-to-date-in-python)を見てください – nbryans

+0

私の謝罪@私はあなたの元の質問を編集しました現在の日付に任意の日数を追加します。 –

答えて

3
x=20100103 
x2 = int((datetime.datetime.strptime(str(x),"%Y%m%d") + datetime.timedelta(days=10)).strftime("%Y%m%d")) 

x=20100103 
x_as_datetime = datetime.datetime.strptime(str(x),"%Y%m%d") 
new_datetime = x_as_datetime + datetime.timedelta(days=10) #add your timedelta 
x2 = new_datetime.strftime("%Y%m%d") # format it back how you want 
int(x2) # if you just want an integer ... 
+0

これは本当に便利で有益でした。追加の故障についてもありがとうございます。完璧に働いた。 –

1
from datetime import datetime 
from datetime import timedelta 

StartDate = "20100103" 

Date = datetime.strptime(StartDate, "%Y%m%d") 
EndDate = Date + timedelta(days=10) 
1
>>> import datetime 
>>> today = datetime.datetime.now().date() 
>>> today 
datetime.date(2016, 6, 14) 
>>> today + datetime.timedelta(days=10) 
datetime.date(2016, 6, 24) 

をそれを打破するためにはtimedeltaに変換する必要はありません。日数を追加する場合は、timedelta関数を使用し、日数はN時間を使用します。

関連する問題