web-dev-qa-db-fra.com

Comment créer un DateTime égal à 15 minutes auparavant?

Je dois créer un objet DateTime qui représente l'heure actuelle moins 15 minutes.

109
Will Curran

importer datetime puis les trucs magiques de 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)
202
Spacedman
 datetime.datetime.now() - datetime.timedelta(minutes=15)
30
eduffy

C'est simplement ce qu'il faut faire:

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

timedelta s sont spécifiquement conçus pour vous permettre de soustraire ou d’ajouter des deltas (différences) à datetime s.

9
user6516765
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`
8
Tauquir

J'ai fourni deux méthodes pour le faire pour les minutes ainsi que pour les années et les 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
7
Mona Jalal

Utilisez DateTime en plus d'un objet timedeltahttp://docs.python.org/library/datetime.html

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

7
Hut8

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

timedelta est un "changement dans le temps". Il faut des jours comme premier paramètre et des secondes pour le deuxième paramètre. 15 * 60 secondes est 15 minutes.

4
Donald Miner