2016-04-27 10 views
0

Ich versuche, ein Timedelta von 1 Tag auf mein Datetime-Objekt hinzufügen mit:Hinzufügen ein Timedelta von 1 Tag auf ein Datum mit pytz in Python

.timedelta(days=1) 

mit:

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

Aber aus irgendeinem Grund funktioniert es nicht, da es nicht erlaubt ist, irgendwo in diese Zeile zu setzen.

Ich habe auch versucht:

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

Aber das gibt:

ungültig wörtliche für int() mit Basis 10: ‚2016.04.28 02: 50: 52,436000 + 01 : 00 '

Irgendeine Idee, was ich falsch mache und wie man es löst?

EDIT:

Es ist kein Duplikat, weil dies eine speziell darüber mit pytz tun ist, ist es einfach, es ohne pytz zu tun.

+1

Mögliches Duplikat ([Wie Delta hinzuzufügen datetime.time zu Python?] http://stackoverflow.com/questions/12448592/how-to-add-delta-to-python-datetime-time) – hichris123

+0

Nach GMTDAY = STR (GMTDAY + timedelta (Tage = 1)) Sie konvertiert GMTDAY zu einer Zeichenfolge; Es ist nicht wirklich klar, was Sie hier versuchen wollen. – Cyb3rFly3r

+0

verwandt: [Holen Sie sich das gestrige Datum in Python, DST-Safe] (http://Stackoverflow.com/a/15345272/4279) – jfs

Antwort

2

Wenn ich das richtig interpretiert, was Sie zu tun versuchen, versuchen, so etwas wie:

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

Ausgang:

28-04-2016 
+0

Ich verwandelte es in eine Zeichenfolge, die auf einigen anderen Stackoverflow-Posts basiert. Ist es möglich, das in ein einzelnes Code-Bit zu zerlegen? – Ryflex

+0

@Ryflex: Wenn das '+ DAY' das Datum über eine DST-Grenze bewegt, müssen Sie die Methode' pytz_timezone.normalize() 'verwenden, um die korrekte Ortszeit zu erhalten. – jfs