เมื่อต้องการบวกหรือลบระยะเวลากับวันที่/เวลา ให้ใช้ datetime.datetime ร่วมกับ datetime.timedelta ซึ่งแสดงถึงช่วงเวลา (ความต่างระหว่างสองวันหรือสองเวลา) ฟังก์ชันสร้าง timedelta มีลายเซ็นดังนี้:
datetime.timedelta([days[, seconds[, microseconds[, milliseconds[, minutes[, hours[, weeks]]]]]]])
หมายเหตุ: อาร์กิวเมนต์ทั้งหมดเป็นตัวเลือกและค่าเริ่มต้นคือ 0 สามารถเป็นจำนวนเต็ม จำนวนจริง บวก หรือลบได้ อ่านรายละเอียดเพิ่มเติมได้ที่ เอกสาร Python
ตัวอย่าง
import datetime
old_time = datetime.datetime.now()
print(old_time)
new_time = old_time - datetime.timedelta(hours=2, minutes=10)
print(new_time)
ผลลัพธ์
2018-01-04 11:09:00.694602
2018-01-04 08:59:00.694602
การคำนวณ timedelta ไม่รองรับอ็อบเจกต์ datetime.time() หากต้องการใช้ offset จาก time object ให้ใช้ datetime.datetime.combine() รวมเป็น datetime object คำนวณเสร็จแล้วค่อยดึง .time() กลับมา