2010-12-27 8 views
74

Ich muss ein DateTime-Objekt erstellen, das die aktuelle Zeit minus 15 Minuten darstellt.Wie erstelle ich eine DateTime vor 15 Minuten?

+0

Verwandte Frage: http://stackoverflow.com/questions/100210/python-easy-way-to-add-n-seconds-to-a-timetime-time/100345#100345 – spade78

+0

Eigentlich ist dies ein Duplikat von http://stackoverflow.com/questions/100210/python-seasy-way-to-add-n-seconds-to-a-datetime-time/100345#100345 –

Antwort

146

Importdatetime und dann die Magie Timedelta Zeug:

In [63]: datetime.datetime.now() 
Out[63]: datetime.datetime(2010, 12, 27, 14, 39, 19, 700401) 

In [64]: datetime.datetime.now() - datetime.timedelta(minutes=15) 
Out[64]: datetime.datetime(2010, 12, 27, 14, 24, 21, 684435) 
+68

dang. geschlagen von datetime.timedelta (Sekunden = 17) – Spacedman

+0

+1 für den Bazman –

+0

timedelta! Ach ja, das funktioniert. Vielen Dank! –

21
datetime.datetime.now() - datetime.timedelta(minutes=15) 
4

datetime.datetime.now() - datetime.timedelta(0, 15 * 60)

timedelta ist eine "Änderung in der Zeit". Es dauert Tage als erster Parameter und Sekunden im zweiten Parameter. 15 * 60 Sekunden beträgt 15 Minuten.

5
from datetime import timedelta  
datetime.datetime.now() - datetime.timedelta(0, 900) 

Actually 900 is in seconds. Which is equal to 15 minutes. `15*60 = 900` 
5

biete ich habe zwei Methoden für so für Minuten tun sowie jahrelang und Stunden, wenn Sie weitere Beispiele sehen möchten:

import datetime 
print(datetime.datetime.now()) 
print(datetime.datetime.now() - datetime.timedelta(minutes = 15)) 
print(datetime.datetime.now() + datetime.timedelta(minutes = -15)) 
print(datetime.timedelta(hours = 5)) 
print(datetime.datetime.now() + datetime.timedelta(days = 3)) 
print(datetime.datetime.now() + datetime.timedelta(days = -9)) 
print(datetime.datetime.now() - datetime.timedelta(days = 9)) 

ich die folgenden Ergebnisse erhalten:

2016-06-03 16:04:03.706615 
2016-06-03 15:49:03.706622 
2016-06-03 15:49:03.706642 
5:00:00 
2016-06-06 16:04:03.706665 
2016-05-25 16:04:03.706676 
2016-05-25 16:04:03.706687 
2016-06-03 
16:04:03.706716 
4

Das ist einfach was zu tun ist:

datetime.datetime.now() - datetime.timedelta(minutes = 15) 

timedelta s sind speziell dafür konzipiert, dass Sie Deltas (Differenzen) zu datetime s subtrahieren oder hinzufügen können.

Verwandte Themen