J'ai besoin de créer un objet DateTime qui représente l'heure actuelle moins 15 minutes.
J'ai besoin de créer un objet DateTime qui représente l'heure actuelle moins 15 minutes.
Réponses:
importez datetime et ensuite les trucs magiques timedelta:
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)
now()
pour éviter une erreur de soustraction des datetimes naïfs et sensibles au décalage:datetime.datetime.now(datetime.timezone.utc)
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`
timedelta
mais utilisez ensuite des datetime
attributs. Importez le module ou ajoutez le type.
J'ai fourni deux méthodes pour le faire pendant des minutes ainsi que pendant des années et des heures si vous voulez voir plus d'exemples:
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))
J'obtiens les résultats suivants:
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
Utilisez DateTime en plus d'un timedelta
objet
http://docs.python.org/library/datetime.html
datetime.datetime.now()-datetime.timedelta(minutes=15)
datetime.datetime.now() - datetime.timedelta(0, 15 * 60)
timedelta
est un «changement dans le temps». Cela prend des jours comme premier paramètre et des secondes pour le deuxième paramètre. 15 * 60
secondes est de 15 minutes.
Si vous utilisez time.time()
et voulez un horodatage comme sortie
Utilisez simplement
CONSTANT_SECONDS = 900 # time in seconds (900 seconds = 15 min)
current_time = int(time.time())
time_before_15_min = current_time - CONSTANT_SECONDS
Vous pouvez changer 900 secondes selon votre temps requis.
seul le code ci-dessous en Python 3.7 a fonctionné pour moi
from datetime import datetime,timedelta
print(datetime.now()-timedelta(seconds=900))