2016-04-27 2 views
0

Я пытаюсь добавить timedelta +1 дней моего объекту даты и времени с помощью:Добавление timedelta +1 дня до даты с 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-04-28 02: 50: 52,436000 + 01 : 00 '

Любая идея, что я делаю неправильно и как ее решить?

EDIT:

Это не дубликат, потому что это один именно делать это с 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-safe] (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

 Смежные вопросы

  • Нет связанных вопросов^_^