HomeLập trìnhPythonCách sử dụng...

Cách sử dụng đối tượng timedelta trong Python để làm việc với ngày tháng


Tại sao chúng ta cần đối tượng timedelta?

Khi bạn làm việc với ngày và giờ trong Python, bạn sẽ thường sử dụng datetime mô-đun.

Trong bài đăng này, chúng ta sẽ xem cách chúng ta có thể sử dụng timedelta đối tượng trong datetime mô-đun. Nó biểu thị một khoảng thời gian và có thể trợ giúp khi chúng ta cần thực hiện các phép toán số học đơn giản trên các đối tượng ngày giờ.

Cụ thể, chúng ta sẽ học cách thực hiện những điều sau đây với các ví dụ về mã:

  1. Tạo cơ bản timedelta vật
  2. In ngày giờ hiện tại
  3. Tính một ngày trong tương lai
  4. Tính một ngày trong quá khứ
  5. Tính thời gian đã trôi qua kể từ một sự kiện cụ thể hoặc thời gian còn lại để một sự kiện cụ thể xảy ra

Nhập khẩu cần thiết

Trước khi bắt đầu với các tác vụ này, trước tiên hãy nhập các mô-đun cần thiết như được hiển thị trong đoạn mã bên dưới:

# Import Necessary Modules
from datetime import date
from datetime import time
from datetime import datetime
from datetime import timedelta

Cách tạo một đối tượng timedelta cơ bản trong Python

Bây giờ chúng ta hãy tạo một cơ sở timedelta đối tượng, như thế này:

time_delt1 = timedelta(days= 270, hours = 9, minutes = 18)
print(time_delt1)

# Sample Output
270 days, 9:18:00

Chúng tôi đã tạo thành công một timedelta vật. Bây giờ, chúng ta cần tạo một thời gian tham chiếu để có thể áp dụng timedelta đối tượng mà chúng tôi đã tạo để thực hiện số học có ý nghĩa. Hãy làm điều đó trong bước tiếp theo.

Đọc thêm  Python Nhận thời gian hiện tại

Cách in ngày và giờ hiện tại bằng Python

Để áp dụng nhịp chúng tôi đã tạo bằng cách sử dụng timedelta đối tượng, chúng tôi sẽ sử dụng ngày và giờ hiện tại làm tham chiếu.

Chúng ta có thể lấy ngày và giờ hiện tại bằng cách gọi hàm now() phương pháp trên datetime đối tượng, như được hiển thị trong đoạn mã bên dưới:

# to create reference, use current date and time
time_now = datetime.now()
print(time_now)

# Sample Output
2021-06-22 17:49:18.574503

Cách tính một ngày trong tương lai bằng Python

Bây giờ hãy tính xem ngày đó sẽ là bao nhiêu sau một khoảng thời gian time_delt1 mà chúng tôi đã tạo trong bước đầu tiên ở trên.

Để tính toán một thời điểm trong tương lai, chúng ta chỉ phải thêm khoảng thời gian được xác định bởi timedelta phản đối thời điểm hiện tại.

# check what date it'll be after time_delt1
future_date1 = time_now + time_delt1
print(future_date1)

# Sample Output
2022-03-20 03:07:18.574503

Bây giờ, hãy xem một ví dụ khác mà chúng ta muốn biết ngày đó sẽ là ngày nào sau một số ngày cụ thể, chẳng hạn 189 ngày.

# What day will it be after 189 days
future_date2 = time_now + timedelta(days=189)
print(future_date2)

# Sample Output
2021-12-28 17:49:18.574503

Cách tính ngày trong quá khứ bằng Python

Như bạn có thể đoán bây giờ, để biết 189 ngày trước là thứ mấy, chúng ta chỉ cần thay ‘+’ bằng ‘-‘ trong ví dụ trên. Bạn có thể thấy điều này trong đoạn mã dưới đây:

# What day would it have been 189 days ago
past_date1 = time_now - timedelta(days=189)
print(past_date1)

# Sample Output
2020-12-15 17:49:18.574503

Cách tính thời gian đã trôi qua hoặc thời gian còn lại trong Python

Bây giờ chúng ta hãy tính thời gian còn lại trước Ngày Nhà giáo năm nay. Chúng ta có thể làm điều này như sau.

Đọc thêm  Đường dẫn Python – Cách sử dụng Mô-đun Pathlib với các ví dụ

Để tính toán với tham chiếu đến ngày hôm nay, chúng ta có thể gọi today() phương thức trên đối tượng ngày để lấy ngày hôm nay:

Syntax: today = date.today() #Returns today's date

# create reference objects for today, and teachers' day
teachers_day = date(time_now.year, 9, 5)
today = date.today()

Sau đó, chúng ta có thể tìm hiểu xem Ngày Nhà giáo trong tương lai sẽ kéo dài bao xa bằng cách sử dụng đoạn mã sau:

# calculate number of days to teachers' day.
time_to_td = teachers_day - today
print(f"Teachers' day is {time_to_td.days} days away")

# Sample Output
Teachers' day is 74 days away

Cũng có thể ngày Nhà giáo năm nay đã trôi qua khi bạn đọc bài viết này 😀. Nếu Ngày Nhà giáo năm nay đã trôi qua, hãy làm như sau:

  • Cập nhật ngày quan tâm đến ngày Nhà giáo năm sau.
  • Tính xem còn bao nhiêu ngày nữa là đến ngày Nhà giáo năm sau.

Điều này được minh họa trong đoạn mã sau:

# check if teachers' day has passed
if teachers_day < today:
  print(f"This year's Teachers' Day was {(today-teachers_day).days} days ago")
  time_to_td = teachers_day - today
  print(f"Next year's Teachers' day is {time_to_td.days} days away")

Tóm tắt nhanh

Tóm lại, chúng ta đã thấy cách chúng ta có thể sử dụng timedelta các đối tượng để thực hiện phép tính số học đơn giản về ngày tháng và tính toán ngày trong quá khứ và tương lai.

Chúng ta cũng có thể tính thời gian đã trôi qua kể từ một sự kiện cụ thể hoặc thời gian còn lại trước một sự kiện cụ thể.

Đọc thêm  Cách tạo tiền điện tử của riêng bạn bằng Python

Hy vọng bạn tìm thấy bài đăng này hữu ích. Cảm ơn bạn đã đọc!

Để tham khảo chi tiết hơn, vui lòng kiểm tra tài liệu chính thức tại đây.



Zik.vn – Biên dịch & Biên soạn Lại

spot_img

Create a website from scratch

Just drag and drop elements in a page to get started with Newspaper Theme.

Buy Now ⟶

Bài viết liên quang

DMCA.com Protection Status