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)

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)

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,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.