Mã nguồn: Lib/Lịch.py Lib/calendar.py
Mô -đun này cho phép bạn xuất các lịch như chương trình Unix Cal và cung cấp các chức năng hữu ích bổ sung liên quan đến lịch. Theo mặc định, các lịch này có thứ Hai là ngày đầu tiên của tuần và Chủ nhật là lần cuối cùng [Hội nghị châu Âu]. Sử dụng setfirstweekday[]
để đặt ngày đầu tiên trong tuần đến Chủ nhật [6] hoặc cho bất kỳ ngày nào khác. Các tham số chỉ định ngày được đưa ra là số nguyên. Đối với các chức năng liên quan, hãy xem thêm các mô -đun datetime
và time
.cal program, and provides additional useful functions related to the calendar. By default, these calendars have Monday as the first day of the week, and Sunday as the last [the European convention]. Use
setfirstweekday[]
to set the first day of the week to Sunday [6] or to any other weekday. Parameters that specify dates are given as integers. For related functionality, see also the datetime
and
time
modules.
Các chức năng và các lớp được xác định trong mô -đun này sử dụng lịch lý tưởng hóa, lịch hiện tại của Gregorian được mở rộng vô thời hạn theo cả hai hướng. Điều này phù hợp với định nghĩa về lịch của Gregorian Gregorian ở Dershowitz và Reingold, cuốn sách tính toán theo lịch, trong đó nó là lịch cơ sở cho tất cả các tính toán. Không và các năm âm được hiểu là theo quy định của tiêu chuẩn ISO 8601. Năm 0 là 1 BC, năm -1 là 2 BC, v.v.
classCalendar.calendar [FirstWeekDay = 0] ¶ calendar.Calendar[firstweekday=0]¶Tạo một đối tượng Calendar
. FirstWeekday là một số nguyên chỉ định vào ngày đầu tiên trong tuần. MONDAY
là 0
[mặc định],
cssclasses = ["mon text-bold", "tue", "wed", "thu", "fri", "sat", "sun red"]0 là
cssclasses = ["mon text-bold", "tue", "wed", "thu", "fri", "sat", "sun red"]1.
Đối tượng Calendar
cung cấp một số phương thức có thể được sử dụng để chuẩn bị dữ liệu lịch để định dạng. Lớp học này không làm bất kỳ định dạng nào. Đây là công việc của các lớp con.
Calendar
Các trường hợp có các phương pháp sau:
Trả lại một trình lặp cho các số ngày trong tuần sẽ được sử dụng trong một tuần. Giá trị đầu tiên từ trình lặp sẽ giống như giá trị của thuộc tính
cssclasses = ["mon text-bold", "tue", "wed", "thu", "fri", "sat", "sun red"]4. itermonthdates [năm, tháng] ¶[year, month]¶
Trả lại một người lặp trong tháng [1 trận12] trong năm. Trình lặp này sẽ trở lại tất cả các ngày [dưới dạng các đối tượng
cssclasses = ["mon text-bold", "tue", "wed", "thu", "fri", "sat", "sun red"]5] trong tháng và tất cả các ngày trước khi bắt đầu tháng hoặc sau khi kết thúc tháng được yêu cầu để có được một tuần hoàn chỉnh. itermonthday [năm, tháng] ¶[year, month]¶
Trả về một trình lặp trong tháng trong năm trong năm tương tự như
cssclasses = ["mon text-bold", "tue", "wed", "thu", "fri", "sat", "sun red"]6, nhưng không bị hạn chế bởi phạm vi
cssclasses = ["mon text-bold", "tue", "wed", "thu", "fri", "sat", "sun red"]5. Ngày trở lại sẽ chỉ đơn giản là ngày của số tháng. Đối với những ngày ngoài tháng được chỉ định, số ngày là
0
. itermonthday2 [năm, tháng] ¶[year, month]¶Trả về một trình lặp trong tháng trong năm trong năm tương tự như
cssclasses = ["mon text-bold", "tue", "wed", "thu", "fri", "sat", "sun red"]6, nhưng không bị hạn chế bởi phạm vi
cssclasses = ["mon text-bold", "tue", "wed", "thu", "fri", "sat", "sun red"]5. Ngày trở lại sẽ là bộ đếm bao gồm một ngày của số tháng và một ngày trong tuần. itermonthday3 [năm, tháng] ¶[year, month]¶
Trả về một trình lặp trong tháng trong năm trong năm tương tự như
cssclasses = ["mon text-bold", "tue", "wed", "thu", "fri", "sat", "sun red"]6, nhưng không bị hạn chế bởi phạm vi
cssclasses = ["mon text-bold", "tue", "wed", "thu", "fri", "sat", "sun red"]5. Ngày trở lại sẽ là bộ đếm bao gồm một năm, một tháng và một ngày của các số tháng.
Mới trong phiên bản 3.7.
itermonthday4 [năm, tháng] ¶[year, month]¶Trả về một trình lặp trong tháng trong năm trong năm tương tự như
cssclasses = ["mon text-bold", "tue", "wed", "thu", "fri", "sat", "sun red"]6, nhưng không bị hạn chế bởi phạm vi
cssclasses = ["mon text-bold", "tue", "wed", "thu", "fri", "sat", "sun red"]5. Ngày trở lại sẽ là bộ đếm bao gồm một năm, một tháng, một ngày trong tháng và một ngày trong tuần.
Mới trong phiên bản 3.7.
itermonthday4 [năm, tháng] ¶[year, month]¶Trả về một trình lặp trong tháng trong năm trong năm tương tự như
cssclasses = ["mon text-bold", "tue", "wed", "thu", "fri", "sat", "sun red"]6, nhưng không bị hạn chế bởi phạm vi
cssclasses = ["mon text-bold", "tue", "wed", "thu", "fri", "sat", "sun red"]5. Ngày trở lại sẽ là bộ đếm bao gồm một năm, một tháng, một ngày trong tháng và một ngày trong tuần. ThángDatesCalendar [năm, tháng][year, month]¶
Trả lại một danh sách các tuần trong tháng tháng trong năm là đầy đủ các tuần. Tuần là danh sách bảy đối tượng
cssclasses = ["mon text-bold", "tue", "wed", "thu", "fri", "sat", "sun red"]5. tháng thứ 2calendar [năm, tháng] ¶[year, month]¶
Trả lại một danh sách các tuần trong tháng tháng trong năm là đầy đủ các tuần. Tuần là danh sách bảy bộ dữ liệu của số ngày và số ngày trong tuần.
Monkaydayscalendar [năm, tháng] ¶[year, width=3]¶Trả lại một danh sách các tuần trong tháng tháng trong năm là đầy đủ các tuần. Tuần là danh sách các số bảy ngày.
YearDatesCalendar [năm, chiều rộng = 3] ¶[year, width=3]¶Trả lại dữ liệu cho năm được chỉ định sẵn sàng để định dạng. Giá trị trả về là danh sách các hàng tháng. Mỗi tháng hàng có chứa các tháng rộng [mặc định là 3]. Mỗi tháng chứa từ 4 đến 6 tuần đến mỗi tuần chứa 1 ngày7. Ngày là đối tượng
cssclasses = ["mon text-bold", "tue", "wed", "thu", "fri", "sat", "sun red"]5. Hàng năm2Calendar [năm, chiều rộng = 3] ¶[year, width=3]¶
Trả về dữ liệu cho năm được chỉ định sẵn sàng để định dạng [tương tự như
class CustomHTMLCal[calendar.HTMLCalendar]: cssclasses = [style + " text-nowrap" for style in calendar.HTMLCalendar.cssclasses] cssclass_month_head = "text-center month-head" cssclass_month = "text-center month" cssclass_year = "text-italic lead"7]. Các mục trong danh sách tuần là bộ dữ liệu của số ngày và số ngày trong tuần. Số ngày bên ngoài tháng này bằng không. Yeauthayscalendar [năm, chiều rộng = 3] ¶ calendar.TextCalendar[firstweekday=0]¶
Trả về dữ liệu cho năm được chỉ định sẵn sàng để định dạng [tương tự như
class CustomHTMLCal[calendar.HTMLCalendar]: cssclasses = [style + " text-nowrap" for style in calendar.HTMLCalendar.cssclasses] cssclass_month_head = "text-center month-head" cssclass_month = "text-center month" cssclass_year = "text-italic lead"7]. Bài dự thi trong danh sách tuần là số ngày. Số ngày bên ngoài tháng này bằng không.
ClassCalendar.TextCalendar [FirstWeekDay = 0] ¶
Lớp này có thể được sử dụng để tạo lịch văn bản đơn giản.[theyear, themonth, w=0, l=0]¶class CustomHTMLCal[calendar.HTMLCalendar]: cssclasses = [style + " text-nowrap" for style in calendar.HTMLCalendar.cssclasses] cssclass_month_head = "text-center month-head" cssclass_month = "text-center month" cssclass_year = "text-italic lead"9 Các trường hợp có các phương thức sau: prmonth [họ, Themonth, w = 0, l = 0] ¶[theyear, themonth, w=0, l=0]¶
In một tháng lịch theo cách được trả lại bởi
import calendar calendar.setfirstweekday[calendar.SUNDAY]1. Định dạng [họ, W = 2, L = 1, C = 6, M = 3][theyear, w=2, l=1, c=6, m=3]¶
Trả lại lịch M-cột trong cả năm dưới dạng chuỗi nhiều dòng. Các tham số tùy chọn W, L và C được dành cho chiều rộng cột ngày, các dòng mỗi tuần và số lượng khoảng cách giữa các cột tháng, tương ứng. Phụ thuộc vào ngày đầu tiên được chỉ định trong hàm tạo hoặc được đặt bằng phương pháp setfirstweekday[]
. Năm đầu tiên mà một lịch có thể được tạo ra là phụ thuộc vào nền tảng.
In lịch trong cả năm như được trả lại bởi
import calendar calendar.setfirstweekday[calendar.SUNDAY]3. classCalendar.htmlcalendar [FirstWeekDay = 0] ¶calendar.HTMLCalendar[firstweekday=0]¶
Lớp này có thể được sử dụng để tạo lịch HTML.
import calendar calendar.setfirstweekday[calendar.SUNDAY]4 Các trường hợp có các phương thức sau: Định dạng [họ, Themonth, withyear = true] ¶[theyear, themonth, withyear=True]¶
Trả lại một tháng Lịch Lịch dưới dạng bảng HTML. Nếu withyear là đúng thì năm sẽ được đưa vào tiêu đề, nếu không thì chỉ có tên tháng sẽ được sử dụng.
Định dạng [họ, chiều rộng = 3][theyear, width=3]¶Trả lại một năm Lịch Lịch dưới dạng bảng HTML. Chiều rộng [mặc định đến 3] Chỉ định số tháng mỗi hàng.
FormatyeArPage [Themear, Width = 3, CSS = 'Lịch.CSS', Mã hóa = Không][theyear, width=3, css='calendar.css', encoding=None]¶Trả về một năm lịch của Lịch như một trang HTML hoàn chỉnh. Chiều rộng [mặc định đến 3] Chỉ định số tháng mỗi hàng. CSS là tên cho bảng kiểu xếp tầng sẽ được sử dụng.
import calendar calendar.setfirstweekday[calendar.SUNDAY]5 có thể được thông qua nếu không nên sử dụng bảng kiểu. Mã hóa chỉ định mã hóa sẽ được sử dụng cho đầu ra [mặc định vào mã hóa mặc định của hệ thống].
import calendar calendar.setfirstweekday[calendar.SUNDAY]4 Có các thuộc tính sau bạn có thể ghi đè để tùy chỉnh các lớp CSS được sử dụng bởi lịch: cssclasses¶¶
Một danh sách các lớp CSS được sử dụng cho mỗi ngày trong tuần. Danh sách lớp mặc định là:
cssclasses = ["mon", "tue", "wed", "thu", "fri", "sat", "sun"]
Nhiều kiểu có thể được thêm vào cho mỗi ngày:
cssclasses = ["mon text-bold", "tue", "wed", "thu", "fri", "sat", "sun red"]
Lưu ý rằng độ dài của danh sách này phải là bảy mục.
cssclass_noday¶¶Lớp CSS cho một ngày trong tuần xảy ra trong tháng trước hoặc tháng tới.
Mới trong phiên bản 3.7.
cssclasses_weekday_head¶¶Một danh sách các lớp CSS được sử dụng cho tên ngày trong tuần trong hàng tiêu đề. Mặc định giống như
import calendar calendar.setfirstweekday[calendar.SUNDAY]7.
Mới trong phiên bản 3.7.
cssclasses_weekday_head¶¶Một danh sách các lớp CSS được sử dụng cho tên ngày trong tuần trong hàng tiêu đề. Mặc định giống như
import calendar calendar.setfirstweekday[calendar.SUNDAY]7.
Mới trong phiên bản 3.7.
cssclasses_weekday_head¶¶Một danh sách các lớp CSS được sử dụng cho tên ngày trong tuần trong hàng tiêu đề. Mặc định giống như
import calendar calendar.setfirstweekday[calendar.SUNDAY]7.
Mới trong phiên bản 3.7.
cssclasses_weekday_head¶¶Một danh sách các lớp CSS được sử dụng cho tên ngày trong tuần trong hàng tiêu đề. Mặc định giống như
import calendar calendar.setfirstweekday[calendar.SUNDAY]7.
Mới trong phiên bản 3.7.
cssclasses_weekday_head¶¶Một danh sách các lớp CSS được sử dụng cho tên ngày trong tuần trong hàng tiêu đề. Mặc định giống như
import calendar calendar.setfirstweekday[calendar.SUNDAY]7.
Mới trong phiên bản 3.7.
cssclasses_weekday_head¶
Một danh sách các lớp CSS được sử dụng cho tên ngày trong tuần trong hàng tiêu đề. Mặc định giống như
import calendar calendar.setfirstweekday[calendar.SUNDAY]7.
class CustomHTMLCal[calendar.HTMLCalendar]: cssclasses = [style + " text-nowrap" for style in calendar.HTMLCalendar.cssclasses] cssclass_month_head = "text-center month-head" cssclass_month = "text-center month" cssclass_year = "text-italic lead"cssclass_month_head¶calendar.LocaleTextCalendar[firstweekday=0, locale=None]¶
Lớp CSS đầu tháng [được sử dụng bởi
import calendar calendar.setfirstweekday[calendar.SUNDAY]8]. Giá trị mặc định là
import calendar calendar.setfirstweekday[calendar.SUNDAY]9. cssclass_month¶calendar.LocaleHTMLCalendar[firstweekday=0, locale=None]¶
Lớp CSS trong cả bảng tháng [được sử dụng bởi
import calendar calendar.setfirstweekday[calendar.SUNDAY]1]. Giá trị mặc định là
import calendar calendar.setfirstweekday[calendar.SUNDAY]9.
cssclass_year¶
Lớp CSS cho cả bảng bảng của bảng [được sử dụng bởi
import calendar calendar.setfirstweekday[calendar.SUNDAY]3]. Giá trị mặc định là
setfirstweekday[]
3.cssclass_year_head¶
Lớp CSS cho đầu bảng cho cả năm [được sử dụng bởiimport calendar calendar.setfirstweekday[calendar.SUNDAY]3]. Giá trị mặc định là
setfirstweekday[]
3.setfirstweekday[weekday]¶Lưu ý rằng mặc dù việc đặt tên cho các thuộc tính lớp được mô tả ở trên là số ít [ví dụ: setfirstweekday[]
6 setfirstweekday[]
7], người ta có thể thay thế lớp CSS duy nhất bằng một danh sách phân tách không gian của các lớp CSS, ví dụ::
import calendar calendar.setfirstweekday[calendar.SUNDAY]Dưới đây là một ví dụ làm thế nào
import calendar calendar.setfirstweekday[calendar.SUNDAY]4 có thể được tùy chỉnh:firstweekday[]¶
classCalendar.localetextcalendar [FirstWeekDay = 0, locale = none] ¶
Lớp con này củaclass CustomHTMLCal[calendar.HTMLCalendar]: cssclasses = [style + " text-nowrap" for style in calendar.HTMLCalendar.cssclasses] cssclass_month_head = "text-center month-head" cssclass_month = "text-center month" cssclass_year = "text-italic lead"9 có thể được chuyển một tên địa phương trong hàm tạo và sẽ trả lại tên tháng và ngày trong tuần trong địa phương được chỉ định.isleap[year]¶
classCalendar.LocalehtmlCalendar [FirstWeekDay = 0, locale = none] ¶
Lớp con này củaimport calendar calendar.setfirstweekday[calendar.SUNDAY]4 có thể được truyền một tên địa phương trong hàm tạo và sẽ trả lại tên tháng và ngày trong tuần trong địa phương được chỉ định.leapdays[y1, y2]¶
Ghi chú
Các phương thức xây dựng, datetime
1 và
import calendar calendar.setfirstweekday[calendar.SUNDAY]8 của hai lớp này tạm thời thay đổi ngôn ngữ
datetime
3 thành ngôn ngữ đã cho. Bởi vì địa điểm hiện tại là cài đặt toàn quy trình, chúng không an toàn cho luồng. Đối với lịch văn bản đơn giản, mô -đun này cung cấp các chức năng sau.weekday[year, month,
day]¶Lịch.SetFirstWeekDay [ngày trong tuần]
Đặt ngày trong tuần [0
là Thứ Hai,
cssclasses = ["mon text-bold", "tue", "wed", "thu", "fri", "sat", "sun red"]1 là Chủ nhật] để bắt đầu mỗi tuần. Các giá trị
MONDAY
, datetime
7, datetime
8, datetime
9, time
0, time
1 và cssclasses = ["mon text-bold", "tue", "wed", "thu", "fri", "sat", "sun red"]0 được cung cấp để thuận tiện. Ví dụ, để đặt ngày đầu tiên vào Chủ nhật: Lịch.FirstWeekday [] ¶monthrange[year, month]¶
Trả về cài đặt hiện tại cho ngày trong tuần để bắt đầu mỗi tuần.
Lịch.Monthcalendar [năm, tháng] ¶monthcalendar[year, month]¶Trả về một ma trận đại diện cho lịch một tháng. Mỗi hàng đại diện cho một tuần; Ngày ngoài tháng được đại diện bởi Zeros. Mỗi tuần bắt đầu với thứ Hai trừ khi được đặt bởi setfirstweekday[]
.
In một tháng Lịch Lịch được trả lại bởi Calendar
2.
Trả về lịch một tháng trong một chuỗi nhiều dòng bằng cách sử dụng
import calendar calendar.setfirstweekday[calendar.SUNDAY]1 của lớp
class CustomHTMLCal[calendar.HTMLCalendar]: cssclasses = [style + " text-nowrap" for style in calendar.HTMLCalendar.cssclasses] cssclass_month_head = "text-center month-head" cssclass_month = "text-center month" cssclass_year = "text-italic lead"9. Lịch.prcal [năm, w = 0, l = 0, c = 6, m = 3] ¶prcal[year, w=0, l=0, c=6, m=3]¶
In lịch trong cả năm như được trả lại bởi Calendar
5.
Trả về lịch 3 cột trong cả năm dưới dạng chuỗi đa dòng bằng cách sử dụng
import calendar calendar.setfirstweekday[calendar.SUNDAY]3 của lớp
class CustomHTMLCal[calendar.HTMLCalendar]: cssclasses = [style + " text-nowrap" for style in calendar.HTMLCalendar.cssclasses] cssclass_month_head = "text-center month-head" cssclass_month = "text-center month" cssclass_year = "text-italic lead"9. Lịch.Timegm [tuple] ¶timegm[tuple]¶
Một chức năng không liên quan nhưng tiện dụng mất thời gian như được trả về bởi hàm Calendar
8 trong mô -đun time
và trả về giá trị dấu thời gian UNIX tương ứng, giả sử một kỷ nguyên năm 1970 và mã hóa POSIX. Trên thực tế, MONDAY
0 và MONDAY
1 là người khác nghịch đảo.
Mô -đun MONDAY
2 xuất các thuộc tính dữ liệu sau:
Một mảng đại diện cho các ngày trong tuần trong địa phương hiện tại.
Lịch.day_abbr¶day_abbr¶Một mảng đại diện cho các ngày viết tắt trong tuần tại địa phương hiện tại.
Lịch.month_name¶month_name¶Một mảng đại diện cho các tháng trong năm ở địa phương hiện tại. Điều này theo quy ước bình thường của tháng 1 là tháng số 1, vì vậy nó có độ dài 13 và MONDAY
3 là chuỗi trống.
Một mảng đại diện cho các tháng viết tắt trong năm tại địa phương hiện tại. Điều này theo quy ước bình thường của tháng 1 là tháng số 1, vì vậy nó có độ dài 13 và MONDAY
4 là chuỗi trống.
Bí danh cho số ngày, trong đó MONDAY
là 0
và
cssclasses = ["mon text-bold", "tue", "wed", "thu", "fri", "sat", "sun red"]0 là
cssclasses = ["mon text-bold", "tue", "wed", "thu", "fri", "sat", "sun red"]1.
Xem thêm
Mô -đundatetime
Giao diện hướng đối tượng đến ngày và thời gian có chức năng tương tự với mô-đun time
.
time
Các chức năng liên quan đến thời gian thấp.