class calendar.Calendar(firstweekday=0)
創建一個 Calendar 對象。 firstweekday 是一個整數,用於指定一週的第一天。 0 是星期一(默認值),6 是星期天。
Calendar 對象提供了一些可被用於準備日曆數據格式化的方法。 這個類本身不執行任何格式化操作。 這部分任務應由子類來完成。
Calendar 類的實例有下列方法:
iterweekdays()
返回一個迭代器,迭代器的內容爲一星期的數字。迭代器的第一個值與 firstweekday 屬性的值一致。
itermonthdates(year, month)
返回一個迭代器,迭代器的內容爲 year 年 month 月(1-12)的日期。
這個迭代器返回當月的所有日期 ( datetime.date 對象),日期包含了本月頭尾用於組成完整一週的日期。
itermonthdays2(year, month)
返回與itermonthdates()類似的迭代器。返回的天是一個元組,其中包含天的編號和周的編號。
itermonthdays(year, month)
返回與itermonthdates()類似的迭代器。返回的天數就是天數。
monthdatescalendar(year, month)
返回一個表示指定年月的周列表。周列表由七個 datetime.date 對象組成。
monthdays2calendar(year, month)
返回一個表示指定年月的周列表。周列表由七個代表日期的數字和代表周幾的數字組成的二元元組。
monthdayscalendar(year, month)
返回一個表示指定年月的周列表。周列表由七個代表日期的數字組成。
yeardatescalendar(year, width=3)
返回可以用來格式化的指定年月的數據。返回的值是一個列表,列表是月份組成的行。
每一行包含了最多 width 個月(默認爲3)。每個月包含了4到6周,每週包含1–7天。每一天使用 datetime.date 對象。
yeardays2calendar(year, width=3)
返回可以用來模式化的指定年月的數據(與 yeardatescalendar() 類似)。
周列表的元素是由表示日期的數字和表示星期幾的數字組成的元組。不在這個月的日子爲0。
yeardayscalendar(year, width=3)
返回可以用來模式化的指定年月的數據(與 yeardatescalendar() 類似)。周列表的元素是表示日期的數字。不在這個月的日子爲0。
class calendar.TextCalendar(firstweekday=0)
可以使用這個類生成純文本日曆。
TextCalendar 實例有以下方法:
formatmonth(theyear, themonth, w=0, l=0)
返回一個多行字符串來表示指定年月的日曆。w 爲日期的寬度,但始終保持日期居中。l 指定了每星期佔用的行數。
以上這些還依賴於構造器或者setfirstweekday() 方法指定的周的第一天是哪一天。
prmonth(theyear, themonth, w=0, l=0)
與 formatmonth() 方法一樣,返回一個月的日曆。
formatyear(theyear, w=2, l=1, c=6, m=3)
返回一個多行字符串,這個字符串爲一個 m 列日曆。可選參數 w, l, 和 c 分別表示日期列數, 周的行數, 和月之間的間隔。
同樣,以上這些還依賴於構造器或者 setfirstweekday() 指定哪一天爲一週的第一天。日曆的第一年由平臺依賴於使用的平臺。
pryear(theyear, w=2, l=1, c=6, m=3)
與 formatyear() 方法一樣,返回一整年的日曆。
class calendar.HTMLCalendar(firstweekday=0)
可以使用這個類生成 HTML 日曆。
HTMLCalendar 實例有以下方法:
formatmonth(theyear, themonth, withyear=True)
返回一個 HTML 表格作爲指定年月的日曆。 withyear 爲真,則年份將會包含在表頭,否則只顯示月份。
formatyear(theyear, width=3)
返回一個 HTML 表格作爲指定年份的日曆。 width (默認爲3) 用於規定每一行顯示月份的數量。
formatyearpage(theyear, width=3, css='calendar.css', encoding=None)
返回一個完整的 HTML 頁面作爲指定年份的日曆。
width (默認爲3) 用於規定每一行顯示的月份數量。
css 爲層疊樣式表的名字。如果不使用任何層疊樣式表,可以使用 None。
encoding 爲輸出頁面的編碼 (默認爲系統的默認編碼)。
class calendar.LocaleTextCalendar(firstweekday=0, locale=None)
這個子類 TextCalendar 可以在構造函數中傳遞一個語言環境名稱,並且返回月份和星期幾的名稱在特定語言環境中。
如果此語言環境包含編碼,則包含月份和工作日名稱的所有字符串將作爲 unicode 返回。
class calendar.LocaleHTMLCalendar(firstweekday=0, locale=None)
可以在構造函數中傳遞HTMLCalendar的這個子類的地區名稱,並將返回指定地區的月份和工作日名稱。
如果這個地區包含一個編碼,那麼所有包含月份和工作日名稱的字符串都將以unicode的形式返回。