Pythoniczny sposób dodawania obiektów datetime.date i datetime.time

197

Mam dwa obiekty, które reprezentują tę samą instancję zdarzenia - jeden przechowuje datę, drugi czas tego zdarzenia i chcę utworzyć obiekt datetime.

Ponieważ nie można po prostu dodać obiektów daty i godziny (następujące wywołanie kończy się niepowodzeniem):

 datetime.date(2011, 01, 01) + datetime.time(10, 23)
jb.
źródło

Odpowiedzi:

354

Jest w dokumentacji Pythona .

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

zwroty

datetime.datetime(2011, 1, 1, 10, 23)
eumiro
źródło
2
Traci to jednak tzinfo (jeśli data ma taką datę). Czy istnieje sposób, aby to zatrzymać?
ypercubeᵀᴹ
A w Python 3? Nie mogę znaleźćcombine()
Olivier Pons,
@OlivierPons nic się nie zmieniło w Python3: docs.python.org/3/library/…
eumiro
Przepraszam, masz rację, combine()można zastosować do datetimewartości. Wielkie dzięki
Olivier Pons,