Hướng dẫn sử dụng LỊCH Python với ví dụ

Anonim

Mô-đun lịch trong Python có lớp lịch cho phép tính toán cho các tác vụ khác nhau dựa trên ngày, tháng và năm. Trên hết, lớp TextCalendar và HTMLCalendar bằng Python cho phép bạn chỉnh sửa lịch và sử dụng theo yêu cầu của mình.

Hãy xem chúng ta có thể làm gì với Lịch Python.

Bước 1) Chạy mã.

  • Dòng mã # 1: Chúng ta bắt đầu với "lịch nhập" sẽ nhập tất cả các lớp của mô-đun này.
  • Dòng Mã # 3: c = calendar.TextCalendar (calendar.SUNDAY) yêu cầu trình thông dịch tạo lịch văn bản. Bắt đầu của tháng sẽ là Chủ nhật. Trong Python, bạn có thể định dạng lịch vì bạn có thể thay đổi ngày trong tháng để bắt đầu bằng
  • Dòng mã # 4: str = c.formatmonth (2025,1) Chúng tôi đang tạo lịch cho năm 2025, Tháng 1 - Tháng 1
  • Dòng mã # 5: print str sẽ in đầu ra.

Hãy nhanh chóng thay đổi giá trị từ Chủ nhật sang thứ Năm và kiểm tra kết quả

Bước 2) Bạn cũng có thể in Lịch ở định dạng HTML, tính năng này hữu ích cho nhà phát triển nếu họ muốn thực hiện bất kỳ thay đổi nào về giao diện của lịch

Bước 3) Vòng lặp qua các ngày trong tháng bằng cách sử dụng c.itermonthday (2025,4), nó sẽ lấy tổng số ngày cho tháng đó.

  • Khi bạn thực thi mã để nhận tổng số ngày cho một tháng cụ thể, nói "Tháng 4" thì bạn sẽ nhận được 30 ngày trong đầu ra nhưng bạn cũng sẽ thấy một số số không cùng với những ngày này ở đầu và đôi khi ở cuối. .
  • Zeros trong đầu ra có nghĩa là ngày trong tuần nằm trong tháng trùng lặp, có nghĩa là nó không thuộc tháng đó.
  • Những số không xuất hiện trong đầu ra bởi vì, trong mã của bạn, bạn đã đề cập ngày (thứ năm), vì vậy khi bạn gọi hàm "c.itermonthdays", nó sẽ bắt đầu ngày đếm từ thứ năm và thứ năm của bạn có thể không bắt đầu với ngày 1 st tháng nó có thể được 28 ngày hoặc 29 ngày của tháng, vì vậy khi bạn thực thi mã nó sẽ bắt đầu ngày, kể từ 28 tháng của cuộc diễu hành và bất kỳ ngày sau đó cho đến khi 1 st tháng Tư. Những ngày này sẽ được tính là số 0 và trong kết quả đầu ra, bạn sẽ thấy những số 0 này và điều tương tự được áp dụng cho cuối tháng.
  • Vì vậy, ngoại trừ ngày 1-30, tất cả các ngày từ trước đó cũng như sau tháng sẽ xuất hiện trong đầu ra dưới dạng số 0.

Bước 4) Bạn có thể tìm nạp dữ liệu từ hệ thống cục bộ, chẳng hạn như tháng hoặc ngày trong tuần, v.v.

  • Kết quả ở đây cho thấy rằng chúng tôi đã in ra tên tháng từ hệ thống cục bộ. Tương tự như vậy, bạn cũng có thể tìm nạp tên các ngày trong tuần như hình dưới đây
  • Đầu ra sẽ phụ thuộc vào hệ thống địa phương, giả sử nếu hệ thống địa phương của bạn là một số quốc gia khác thì nó sẽ cung cấp đầu ra theo cài đặt cục bộ của quốc gia đó. Ở đây chúng ta có tháng nên nó sẽ không khác biệt nhưng nếu là một tuần hoặc một ngày, chắc chắn nó sẽ khác.

Bước 5) Bạn có thể tìm nạp danh sách các ngày cụ thể cho cả năm. Ví dụ: có một ngày kiểm tra vào mỗi thứ Hai đầu tiên của tuần. Bạn muốn biết ngày của Thứ Hai đầu tiên cho mỗi tháng. Bạn có thể sử dụng mã này

  • mycal = calendar.monthcalendar (2025, tháng) sẽ tạo lịch cho tháng
  • Đặt các biến tuần1 và tuần2 thành Tuần đầu tiên và tuần thứ hai của lịch
  • Kiểm tra xem Tuần 1 có chứa Thứ Hai hay không, đặt ngày kiểm tra
  • Khác đã đặt ngày kiểm tra là Thứ Hai đầu tiên trong tuần 2
  • Kết quả hiển thị ngày cho thứ Hai đầu tiên rơi vào tháng đó.
  • Chiều dài của đối tượng Cal này sẽ là một độ dài nhất định, dựa trên số tuần ở đó trong tháng. Trong trường hợp của chúng tôi, nó sẽ là một hoặc hai vì như vậy thứ Hai đầu tuần sẽ nằm trong tuần đầu tiên thường xuyên nhất nhưng nếu không thì hãy xem xét tuần thứ hai. Hãy xem chi tiết lý do tại sao chúng ta cũng xem xét tuần thứ hai.
  • Ở đây chúng tôi đang sử dụng hằng số Thứ Hai của lịch, đối tượng lịch cung cấp cho bạn các hằng số đại diện cho Chủ Nhật, Thứ Hai, Thứ Ba, v.v. Chúng tôi đã thấy những điều này trước đây. Vì vậy, nếu trong tuần một, ngày được biểu thị bởi hằng số Thứ Hai không bằng 0, hãy nhớ số không có nghĩa là các ngày thuộc tháng khác. Vì vậy, trong trường hợp này, nếu nó là 0, nó sẽ là thứ Hai của tháng trước. Nhưng nếu ngày thứ Hai đầu tiên không bằng 0, điều đó có nghĩa là ngày kiểm toán của tôi sẽ nằm trong tuần thứ nhất. Ngược lại, nếu đó là 0, thì thứ Hai đầu tiên không phải là tuần đầu tiên của tháng, nó phải là thứ hai.
  • Vì vậy, sau đó tôi nói không sao, hãy đặt biến ngày kiểm toán của tôi là Thứ Hai được thể hiện bằng Tuần thứ hai. Vì vậy, ngày kiểm toán sẽ quay trở lại với bất kỳ ngày nào trong tuần đầu tiên hoặc tuần thứ hai.

Đây là mã hoàn chỉnh

Ví dụ Python 2

nhập lịch# Tạo lịch văn bản thuần túyc = calendar.TextCalendar (calendar.THURSDAY)str = c.formatmonth (2025, 1, 0, 0)in str# Tạo lịch có định dạng HTMLhc = calendar.HTMLCalendar (calendar.THURSDAY)str = hc.formatmonth (2025, 1)in str# vòng lặp qua các ngày trong tháng# số 0 cho biết ngày trong tuần thuộc tháng tiếp theo hoặc tháng trùng lặpcho tôi trong c.itermonthdays (2025, 4):in tôi# Lịch có thể cung cấp thông tin dựa trên tên địa phương của ngày và tháng (dạng đầy đủ và viết tắt)cho tên trong calendar.month_name:tên incho ngày trong lịch.day_name:ngày in# tính toán ngày dựa trên quy tắc: Ví dụ: ngày kiểm tra vào thứ Hai của tuần thứ hai hàng tháng# Tìm ra những ngày sẽ là của mỗi tháng, chúng ta có thể sử dụng tập lệnh như được hiển thị ở đâycho tháng trong phạm vi (1, 13):# Nó truy xuất danh sách các tuần đại diện cho thángmycal = calendar.monthcalendar (năm 2025, tháng)# NGÀY THỨ HAI đầu tiên phải trong vòng hai tuần đầu tiêntuần1 = mycal [0]tuần2 = mycal [1]nếu tuần1 [calendar.MONDAY]! = 0:Audday = week1 [calendar.MONDAY]khác:# nếu THỨ HAI đầu tiên không phải trong tuần đầu tiên, thì phải vào tuần thứ haiAudday = week2 [calendar.MONDAY]in "% 10s% 2d"% (calendar.month_name [tháng], ngày kiểm toán)

Ví dụ Python 3

nhập lịch# Tạo lịch văn bản thuần túyc = calendar.TextCalendar (calendar.THURSDAY)str = c.formatmonth (2025, 1, 0, 0)print (str)# Tạo lịch có định dạng HTMLhc = calendar.HTMLCalendar (calendar.THURSDAY)str = hc.formatmonth (2025, 1)print (str)# vòng lặp qua các ngày trong tháng# số 0 cho biết ngày trong tuần thuộc tháng tiếp theo hoặc tháng trùng lặpcho tôi trong c.itermonthdays (2025, 4):in (i)# Lịch có thể cung cấp thông tin dựa trên tên địa phương của ngày và tháng (dạng đầy đủ và viết tắt)cho tên trong calendar.month_name:in (tên)cho ngày trong lịch.day_name:in (ngày)# tính toán ngày dựa trên quy tắc: Ví dụ: ngày kiểm tra vào thứ Hai của tuần thứ hai hàng tháng# Tìm ra những ngày sẽ là của mỗi tháng, chúng ta có thể sử dụng tập lệnh như được hiển thị ở đâycho tháng trong phạm vi (1, 13):# Nó truy xuất danh sách các tuần đại diện cho thángmycal = calendar.monthcalendar (năm 2025, tháng)# NGÀY THỨ HAI đầu tiên phải trong vòng hai tuần đầu tiêntuần1 = mycal [0]tuần2 = mycal [1]nếu tuần1 [calendar.MONDAY]! = 0:Audday = week1 [calendar.MONDAY]khác:# nếu THỨ HAI đầu tiên không phải trong tuần đầu tiên, thì phải vào tuần thứ haiAudday = week2 [calendar.MONDAY]print ("% 10s% 2d"% (calendar.month_name [tháng], ngày kiểm tra))

Tóm lược:

  • Trong Python, bạn có thể định dạng lịch theo cách bạn muốn vì bạn có thể thay đổi ngày bắt đầu của tháng
  • In Lịch ở định dạng HTML
  • Tìm nạp dữ liệu từ hệ thống cục bộ, chẳng hạn như tháng hoặc ngày trong tuần
  • Tìm nạp danh sách các ngày cụ thể cho cả năm