CodeGym /Các khóa học /Python SELF VI /Cơ bản về làm việc với ngày và giờ trong Python

Cơ bản về làm việc với ngày và giờ trong Python

Python SELF VI
Mức độ , Bài học
Có sẵn

Giới thiệu về làm việc với ngày và giờ

Hãy bắt đầu với một chút suy ngẫm: hãy tưởng tượng nếu máy tính không thể làm việc với ngày và giờ. Thật kinh khủng! Các thiết bị yêu thích của chúng ta sẽ trở nên hoàn toàn vô dụng trong việc lên kế hoạch và tự động hóa các công việc. Hãy cùng tìm hiểu, làm thế nào Python có thể giúp chúng ta không trễ các cuộc họp quan trọng và hỗ trợ tự động hóa các tác vụ lặp đi lặp lại.

Làm việc với ngày và giờ là một phần không thể thiếu của lập trình, đặc biệt khi nói đến tự động hóa. Hãy tưởng tượng một tình huống: bạn có các báo cáo cần được cập nhật mỗi giờ hoặc các lời nhắc cần phải nhắc bạn rằng đã đến lúc nghỉ ngơi (vâng, bạn đã ngồi trước màn hình 5 tiếng rồi!). Python cung cấp nhiều công cụ để làm việc với ngày và giờ mà chúng ta sẽ cùng khám phá trong bài giảng này.

1. Các module làm việc với ngày và giờ

Trong Python có sẵn một số module giúp dễ dàng làm việc với ngày và giờ. Chúng ta sẽ tập trung vào ba module chính: datetime, timecalendar.

  • datetime: có thể nói rằng hầu hết công việc với ngày và giờ sẽ được thực hiện bằng module này. Nó cung cấp các lớp để làm việc với ngày, giờ riêng lẻ, cũng như kết hợp chúng.
  • time: module này cung cấp các hàm để làm việc với các biểu diễn của thời gian ở cấp thấp, thường là tương tác với thời gian của hệ thống.
  • calendar: hỗ trợ bạn làm việc với lịch (ở đây thì dễ hiểu rồi nhỉ).

Các hàm và lớp cơ bản trong module datetime

Hãy cùng đi sâu vào module datetime và khám phá các thành phần chính của nó.

Lớp date

Lớp này được sử dụng để làm việc với ngày tháng. Nó cho phép đặt và chỉnh sửa năm, tháng, ngày mà không cần gắn chúng với thời gian.

Python

from datetime import date

# Tạo đối tượng date
my_birthday = date(1990, 12, 25)
print("Ngày sinh nhật của tôi:", my_birthday)

Lớp time

Lớp này, như tên gọi của nó, chỉ làm việc với thời gian — giờ, phút, giây. Lý tưởng cho những trường hợp cần quản lý thời gian mà không liên quan đến ngày.

Python

from datetime import time

# Tạo đối tượng time
meeting_time = time(14, 30)  # 14:30
print("Giờ cuộc họp đã được đặt:", meeting_time)

Lớp datetime

Lớp linh hoạt nhất, kết hợp ngày và giờ thành một khối thống nhất.

Python

from datetime import datetime

# Thời gian và ngày hiện tại
now = datetime.now()
print("Ngày và giờ hiện tại:", now)

2. Sử dụng module datetime để lấy ngày và giờ hiện tại

Lấy ngày và giờ hiện tại là nền tảng để lên kế hoạch và tự động hóa. Trong datetime có một số phương pháp tiện dụng để làm điều này.

Lấy ngày và giờ hiện tại

Nhờ vào các phương pháp datetime.now()datetime.today(), bạn có thể dễ dàng lấy ngày và giờ hiện tại.

Python

now = datetime.now()
print("Ngày và giờ hiện tại (now):", now)

today = datetime.today()
print("Ngày hiện tại (today):", today)

Làm việc với các đối tượng datetime

Đối tượng datetime cho phép bạn trích xuất các thành phần như năm, tháng, ngày và nhiều hơn nữa. Cũng cần nhớ đến sự khác biệt giữa thời gian địa phương và thời gian chuẩn quốc tế (UTC).

Python

year = now.year
month = now.month
day = now.day
hour = now.hour
minute = now.minute
second = now.second

print(f"Hôm nay: {day}/{month}/{year}, và giờ: {hour}:{minute}:{second}")

Khi triển khai ứng dụng, hãy để ý đến sự khác biệt giữa thời gian địa phương và UTC, vì thế giới rất lớn và mỗi người đều có múi giờ của riêng mình!

3. Ví dụ về sử dụng ngày và giờ hiện tại trong các tác vụ thực tế

Giả sử bạn cần lấy dữ liệu từ một nguồn nào đó mỗi giờ. Điều này có thể dễ dàng tự động hóa bằng cách so sánh thời gian hiện tại với lần lấy trước. Ví dụ:

Python

from datetime import timedelta

last_run = datetime.now() - timedelta(hours=1)
current_time = datetime.now()

# Nếu lần chạy cuối hơn một giờ trước
if current_time - last_run > timedelta(hours=1):
    print("Đã đến lúc cập nhật dữ liệu!")
    last_run = current_time

Đoạn mã này hiệu quả nhắc nhở chúng ta về sự cần thiết phải làm gì đó chỉ khi hơn một giờ đã trôi qua. Hãy chú ý sự thuận tiện của việc sử dụng timedelta để thực hiện các phép toán với thời gian.

1
Nhiệm vụ
Python SELF VI, mức độ, bài học
Đã khóa
Trích xuất ngày hiện tại
Trích xuất ngày hiện tại
2
Nhiệm vụ
Python SELF VI, mức độ, bài học
Đã khóa
Sự khác nhau về thời gian
Sự khác nhau về thời gian
3
Nhiệm vụ
Python SELF VI, mức độ, bài học
Đã khóa
Nhắc nhở tự động
Nhắc nhở tự động
4
Nhiệm vụ
Python SELF VI, mức độ, bài học
Đã khóa
Quản lý sự kiện theo lịch trình
Quản lý sự kiện theo lịch trình
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION