วิธี Pythonic เพื่อเพิ่มวัตถุ datetime.date และ datetime.time


197

ฉันมีสองวัตถุที่แสดงถึงอินสแตนซ์ของเหตุการณ์เดียวกัน --- หนึ่งเก็บวันที่เวลาอื่นของเหตุการณ์นี้และฉันต้องการสร้างวัตถุ datetime

เนื่องจากไม่มีใครสามารถเพิ่มวัตถุวันที่และเวลาได้อย่างง่ายดาย

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

คำตอบ:


356

มันอยู่ในเอกสารหลาม

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

ผลตอบแทน

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

2
สิ่งนี้จะสูญเสีย tzinfo (ถ้าวันที่มี) มีวิธีเก็บรักษาไหม?
ypercubeᵀᴹ

และใน Python 3 หาไม่พบcombine()
Olivier Pons

@OlivierPons ไม่มีการเปลี่ยนแปลงอะไรใน Python3: docs.python.org/3/library/…
eumiro

ฉันขอโทษที่คุณถูกต้องcombine()สามารถนำไปใช้กับdatetimeค่า ขอบคุณมาก
Olivier Pons
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.