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

Cách trừ timedelta từ date trong Python

Trừ một khoảng thời gian (timedelta) từ date hoặc datetime rất đơn giản: chỉ cần dùng toán tử -.

Ví dụ: Trừ 1 ngày

from datetime import datetime, timedelta

today = datetime.today()
yesterday = today - timedelta(days=1)

print("Hôm nay:", today)
print("Hôm qua:", yesterday)

Kết quả

Hôm nay: 2017-12-29 12:28:06.531791
Hôm qua: 2017-12-28 12:28:06.531791

Các đơn vị thời gian hỗ trợ

timedelta(days=1)           # 1 ngày
timedelta(weeks=1)          # 1 tuần (7 ngày)
timedelta(hours=2)          # 2 giờ
timedelta(minutes=30)       # 30 phút
timedelta(seconds=45)       # 45 giây
timedelta(milliseconds=500) # 500 ms
timedelta(microseconds=100) # 100 µs

# Kết hợp
timedelta(days=1, hours=2, minutes=30)

Làm việc với date (không có time)

from datetime import date, timedelta

d = date(2024, 1, 15)
d_minus_10 = d - timedelta(days=10)
print(d_minus_10)  # 2024-01-05

Lưu ý

  • date chỉ hỗ trợ days, weeks (các đơn vị nhỏ hơn bị bỏ qua).
  • datetime hỗ trợ tất cả đơn vị.
  • Phép trừ date - date cũng trả về timedelta (chỉ có days).