Trong hướng dẫn này, ta học về thư viện holidays. Thư viện holidays giúp xác định xem một ngày cụ thể có phải ngày lễ hay không ở các quốc gia khác nhau. Chỉ xem được ngày lễ công cộng.
Cài mô-đun bằng lệnh sau.
pip install holidays
Sau khi cài thành công, làm theo các cách xem thông tin ngày lễ. Xem ngày lễ của Ấn Độ năm 2020. Bạn làm theo các bước dưới để lấy danh sách ngày lễ hoàn chỉnh cho Ấn Độ năm 2020.
Bạn tìm mã quốc gia cho holidays tại đây...
- Import mô-đun holidays.
- Khởi tạo holidays.India() truyền tham số years=2020.
- Nó trả về dictionary ngày lễ kèm ngày tháng.
- Lặp qua các mục dictionary và in ra.
Ví dụ
Xem mã lấy tất cả ngày lễ.
# Import mô-đun holidays
import holidays
# Lấy ngày lễ Ấn Độ
india_holidays = holidays.India(years=2020)
# Lặp qua ngày lễ
for date, occasion in india_holidays.items():
# In ngày và dịp
print(f'{date} - {occasion}') Kết quả
Nếu chạy mã trên, bạn sẽ nhận được kết quả sau.
2020-01-14 - Makar Sankranti / Pongal 2020-01-26 - Republic Day 2020-08-15 - Independence Day 2020-10-02 - Gandhi Jayanti 2020-05-01 - Labour Day 2020-12-25 - Christmas
Bạn có thể lấy ngày lễ bất kỳ quốc gia khả dụng. Thay đổi mã cho phù hợp. Tiếp, ta lấy dịp ngày lễ.
Ví dụ
# Import mô-đun holidays
import holidays
# Lấy ngày lễ Ấn Độ
india_holidays = holidays.India()
# Dịp ngày 15-08-2020
print(f"Dịp ngày 15-08-2020: {india_holidays.get('15-08-2020')}") Kết quả
Nếu chạy mã trên, bạn sẽ nhận được kết quả sau.
Dịp ngày 15-08-2020: Independence Day
Xem xem một ngày cụ thể có phải ngày lễ không.
Ví dụ
# Import mô-đun holidays
import holidays
# Lấy ngày lễ Ấn Độ
india_holidays = holidays.India()
# Ngày kiểm tra
date_one = '15-08-2020'
date_two = '16-08-2020'
print(f"Có phải ngày lễ {date_one}: {india_holidays.get(date_one) != None}")
print(f"Có phải ngày lễ {date_two}: {india_holidays.get(date_two) != None}") Kết quả
Nếu chạy chương trình trên, bạn sẽ nhận được kết quả sau.
Có phải ngày lễ 15-08-2020: True Có phải ngày lễ 16-08-2020: False
Kết luận
Nếu có thắc mắc trong hướng dẫn, hãy đề cập ở phần bình luận.