Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Tính hiệu thời gian trong Python

Python làm toán ngày/giờ rất dễ nhờ đối tượng timedelta. Khi cần cộng/trừ ngày/giờ, dùng datetime.datetime() rồi cộng/trừ instance của datetime.timedelta(). timedelta đại diện cho khoảng thời gian, chênh lệch giữa hai thời điểm.

Chữ ký constructor:

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

Lưu ý: Tất cả tham số tùy chọn, mặc định 0. Có thể là int, long, float, dương hoặc âm.

Ví dụ dùng timedelta

import datetime
old_time = datetime.datetime.now()
print(old_time)
new_time = old_time - datetime.timedelta(hours=2, minutes=10)
print(new_time)

Kết quả

2018-01-04 11:09:00.694602
2018-01-04 08:59:00.694602

timedelta không hỗ trợ trực tiếp cho datetime.time(). Cần dùng datetime.datetime.combine() tạo instance datetime, tính toán, rồi lấy .time().

Trừ 2 đối tượng datetime cho ra timedelta, dùng để tìm chênh lệch chính xác.

Ví dụ

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

Kết quả

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