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

Cách thực hiện phép toán số học trên ngày tháng trong Python

Việc tính toán ngày giờ trong Python rất dễ dàng nhờ đối tượng timedelta. Khi muốn cộng hoặc trừ một khoảng thời gian vào ngày/giờ, hãy dùng datetime.datetime cộng/trừ với datetime.timedelta.

Cú pháp timedelta

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

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

Ví dụ: Trừ 2 giờ 10 phút

import datetime

old_time = datetime.datetime.now()
print("Thời gian cũ:", old_time)

new_time = old_time - datetime.timedelta(hours=2, minutes=10)
print("Thời gian mới:", new_time)

Kết quả

Thời gian cũ: 2018-01-04 11:09:00.694602
Thời gian mới: 2018-01-04 08:59:00.694602

Lưu ý: timedelta không hỗ trợ trực tiếp cho datetime.time(). Cần dùng datetime.combine() để chuyển thành datetime, tính toán, rồi lấy .time().

Trừ hai đối tượng datetime

Trừ hai đối tượng datetime cho kết quả là một đối tượng timedelta, cho phép biết chính xác khoảng cách giữa hai thời điểm.

Ví dụ

t1 = datetime.datetime.now()
t2 = datetime.datetime.now()
diff = t1 - t2
print("Chênh lệch:", diff)
print("Kiểu dữ liệu:", type(diff))

Kết quả

Chênh lệch: -1 day, 23:59:56.653627
Kiểu dữ liệu: <class 'datetime.timedelta'>