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)
jb.
la source

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)
eumiro
la source
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