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

Cách áp dụng độ lệch (offset) lên thời gian hiện tại trong Python

Khi cần cộng hoặc trừ một khoảng thời gian (offset) vào một đối tượng ngày/giờ, hãy sử dụng datetime.datetime kết hợp với datetime.timedelta. Đối tượng timedelta biểu diễn một khoảng thời gian, tức là sự chênh lệch giữa hai ngày hoặc hai thời điểm.

Cú pháp timedelta

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

Lưu ý: Tất cả các tham số đều tùy chọn và mặc định bằng 0. Các tham số có thể là số nguyên, số thực, dương hoặc âm.

Ví dụ: Trừ 2 giờ 10 phút từ thời gian hiện tại

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àm việc với datetime.time

Phép toán timedelta không hỗ trợ trực tiếp cho đối tượng datetime.time(). Nếu cần áp dụng offset cho một đối tượng time, hãy dùng datetime.datetime.combine() để tạo thành datetime, thực hiện phép tính, sau đó trích xuất lại time bằng phương thức .time().