2016-04-27 246 views
0

我試圖+1天timedelta添加到我的DateTime對象添加1天的timedelta的日期pytz:使用蟒蛇

.timedelta(days=1) 

有了:

datetime.now(pytz.timezone('Europe/London')).strftime("%d%m%Y")` 

但由於某種原因,它不工作,因爲它不允許將它放在該行的任何位置。

我也試過:

GMTDAY = datetime.now(pytz.timezone('Europe/London')) 
GMTDAY = str(GMTDAY + timedelta(days=1)) 
GMTDAY = datetime(int(GMTDAY)).strftime("%d%m%Y") 

但返回:

無效字面INT()基數爲10:「2016年4月28日02:50:52.436000 + 01 :00'

任何想法我在做什麼錯誤以及如何解決它?

編輯:

,因爲這是一個專門關於與pytz做這不是重複的,可以很容易地做到這一點,而不pytz。

+1

的可能的複製([如何添加增量到Python datetime.time?] http://stackoverflow.com/questions/12448592/how-to-add-delta-to-python-datetime-time) – hichris123

+0

GMTDAY = str(GMTDAY + timedelta(days = 1))之後,您將GMTDAY轉換爲字符串;目前還不清楚你在這裏做什麼。 – Cyb3rFly3r

+0

相關:[獲取昨天的日期在Python中,DST安全](http://stackoverflow.com/a/15345272/4279) – jfs

回答

2

如果我理解正確的是你正在嘗試做的,你可以試試:

GMTDAY = datetime.now(pytz.timezone('Europe/London')) 
GMTDAY += timedelta(days=1) 
tomorrow = GMTDAY.strftime("%d-%m-%Y") 
print(tomorrow) 

輸出:

28-04-2016 
+0

我把它變成一個基於其他一些stackoverflow職位的字符串,是否有可能condesne到一行代碼單行? – Ryflex

+0

@Ryflex:如果'+ DAY'在DST邊界上移動日期,那麼你必須使用'pytz_timezone.normalize()'方法來獲得正確的本地時間。 – jfs