Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีเพิ่มหรือลดเวลา (Offset) จากเวลาปัจจุบันใน Python

เมื่อต้องการบวกหรือลบระยะเวลากับวันที่/เวลา ให้ใช้ 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() กลับมา