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

Thư viện holidays trong Python


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.