2016-04-27 198 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