Manière pythonique d'ajouter des objets datetime.date et datetime.time


197

J'ai deux objets qui représentent la même instance d'événement --- l'un contient la date, l'autre l'heure de cet événement, et je veux créer un objet datetime.

Puisqu'on ne peut pas simplement ajouter des objets de date et d'heure (l'appel suivant échoue):

 datetime.date(2011, 01, 01) + datetime.time(10, 23)

Réponses:


356

C'est dans les documents python .

import datetime
datetime.datetime.combine(datetime.date(2011, 1, 1), 
                          datetime.time(10, 23))

Retour

datetime.datetime(2011, 1, 1, 10, 23)

2
Cela perd cependant le tzinfo (si la date en a un). Y a-t-il un moyen de le garder?
ypercubeᵀᴹ

Et en Python 3? Impossible de trouvercombine()
Olivier Pons

@OlivierPons rien n'a changé en Python3: docs.python.org/3/library/…
eumiro

Je suis désolé que vous ayez raison, combine()peut s'appliquer à une datetimevaleur. Merci beaucoup
Olivier Pons
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.