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

วิธีทำคณิตศาสตร์กับวันที่ใน Python

การคำนวณวันที่และเวลาใน Python ทำได้ง่ายด้วยอ็อบเจกต์ timedelta เมื่อต้องการบวกหรือลบวันที่/เวลา ให้ใช้ datetime.datetime() แล้วบวกหรือลบด้วย datetime.timedelta()

datetime.timedelta([days[, seconds[, microseconds[, milliseconds[, minutes[, hours[, weeks]]]]]]])

หมายเหตุ: อาร์กิวเมนต์ทั้งหมดเป็นตัวเลือก ค่าเริ่มต้น 0 รองรับ int, float, ค่าบวกหรือลบ

ตัวอย่าง: บวกลบเวลา

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() ต้องใช้ datetime.datetime.combine() รวมเป็น datetime ก่อน คำนวณเสร็จแล้วค่อย .time()


ตัวอย่าง: ลบ datetime สองตัว

การลบ datetime สองอ็อบเจกต์จะได้ timedelta ซึ่งใช้หาความต่างที่แน่นอน

t1 = datetime.datetime.now()
t2 = datetime.datetime.now()
print(t1 - t2)
print(type(t1 - t2))

ผลลัพธ์

-1 day, 23:59:56.653627
<class 'datetime.timedelta'>