Python calendar模塊詳情
復習回顧:
Python 對於時間日期操作提供瞭很多方法,我們前面已經學習瞭2個模塊:
- 基於Unix 時間戳范圍限制在1970~2038年的時間處理的time模塊
- 提供六個類對時間日期更加人性化處理的datetime模塊
在日常生活工作中,除瞭每一天時間及日期Python
都提供瞭具體的模塊來進行處理,那麼日期的集合要使用什麼模塊來處理呢?
Python 專門為瞭處理日歷提供瞭calendar日歷模塊。那麼,本期我們來學習一下calender模塊相關方法及屬性
1. calendar 模塊概述
calendar
模塊提供與日歷相關的實用函數,幫助我們得到與日歷相關的信息。
1.1calendar 特點
calendar
模塊是基於datetime.date.weekday()
對計算每一周的周數calendar
默認星期一是每一周的第一天,星期天是一周的最後一天calendar
提供calendar.setfirstweeksday()
來更改指定星期幾為一周的第一天
1.2calendar 類結構
- 我們可以查看
Python
內置庫-calendar.py
文件 calendar
主要提供三大類:Calendar
、TextCalendar
、HTMLCalendar
- 其中,
calendar
是TextCalendar
和HTMLCalendar
的基類
1.3calendar 使用步驟
calendar
是內置庫,直接使用import
導入
import calendar
2. calendar 相關方法
2.2calendar 模塊相關方法
方法 | 說明 |
---|---|
calendar.firstweekday() | 設置每星期的第一天數值 |
calendar.isleap(year) | 判斷是閏年,則返回Ture |
calendar.leapdays(y1,y2) | 計算要y1與y2的閏年數 |
calendar.weekday(year,month,day) | 返回某日是星期幾 |
calendar.weekheader(n) | 星期幾的縮寫名的頭 |
calendar.mothrange(year,month) | 計算出指定年份的某月第一天是星期幾和天數 |
calendar.prmonth(theyear,themonth,w=0,1=0) | 格式化打印指定年的某月的日歷 |
calendar.month(theyear,themonth,w=0,1=0) | 使用TextCalendar類formation()以多行字符串形式返回月份日歷 |
calendar.prcal(year,w=1,1=0,c=6,m=3) | 格式化打印出整年的日歷 |
calendar.calendar(year,w=1,1=0,c=6,m=3) | 以整年3列的日歷多行字符串的形式的日歷 |
2.3calendar 模塊屬性
方法 | 說明 |
---|---|
calendar.day_name | 當前語言環境下星期幾的數組 |
calendar.day_abbr | 當前語言環境下星期幾的縮寫 |
calendar.month_name | 當前語言下一年的月份數組 |
calendar.month_abbr | 當前語言下一年的月份縮寫 |
2.4calendar 模塊提供5個類
類方法 | 說明 |
---|---|
calendar.Calendar(firstweekday=0) | 創建Calendar對象,默認周一為第一天 |
calendar.TextCalendar(firstweekday=0) | 生成純文本日歷對象 |
calendar.HTMLCalendar(firstweekday=0) | 生成HTML日志對象 |
calendar.LocaleTextCalenda(firstweekday=0,locale=None) | 語言環境名稱 |
calendar.LocaleHTMLCalendar(firstweekday=0,locale=None) | 語言環境名稱 |
2.5calendar.Calendar類實例相關方法
方法 | 說明 |
---|---|
cal.itermonthdates(year,month) | 返回一個year年month月的日期的迭代器 |
cal.iterweekdats() | 返回為一星期的數字的迭代器 |
cal.itermonthdays(year,month) | 返回的日期為當月每一天的日期對應的天數,對於不在當月的日期,會顯示0 |
cal.itermonthdays2(year,month) | 返回一個由日期和代表星期幾的數字組成的元組 |
cal.itermonthdays3(year,month) | 返回一個由年月日組成的元組 |
cal.itermonthdays4(year,month) | 返回一個由年月日和星期幾的數字組成的元組 |
cal.monthdatescalendar(year,month) | 返回一個由datetime.date對象組成的年月的周列表 |
cal.monthdays2calendar(year,month) | 返回一個由日期數字和周幾的數字的二元元組 |
cal.monthdayscalendar(year,month) | 返回一個由七個日期數字的組成周列表 |
cal.yeardatescalendar(year,width=3) | 返回可以用來格式化的指定年月的數據列表 |
cal.yeardays2calendar(year,width=3) | 返回用來模式化的指定年月的數據。在這個月的日期為0,周列表由日期和星期數組成的元組 |
cal.yeardayscalendar(year,width=3) | 返回一個周列表是日期數字組成可以用來模式化的指定年月的數據 |
2.6calendar.TextCalendar類實例相關方法
方法 | 說明 |
---|---|
tc.formatmonth(theyear,themonth,w=0,1=0) | 以多行字符串來表示指定年月的日歷 |
tc.prmonth(theyear,themonth,w=0,1=0) | 格式化打印一個月的日歷 |
tc.formatyear(theyear,w=0,1=1,c=6,m=3) | 返回一個m列的日歷 |
tc.pryear(theyear,w=0,1=1,c=6,m=3) | 格式化打印一整年的日歷 |
2.7calendar.HTMLCalendar類實例相關方法
方法 | 說明 |
---|---|
htl.formatmonth(theyear,themonth,withyear=True) | 返回一個HTML表格的指定的年月日歷 |
htl.formatyear(theyear,width=3) | 返回HTML指定年份的日歷 |
htl.formatyearpage(theyear,width=3,css=’calendar.css’,encoding=None) | 返回一個完整的HTML頁面作為指定的年份日歷 |
calendar.HTMLCalendar類實例相關屬性
2.8calendar.HTMLCalendar類實例相關屬性
方法 | 說明 |
---|---|
htl.cssclasses | 星期一到星期天的CSS class 列表 |
htl.cssclass_noday | 工作日的CSS類在上個月或下個月發生 |
htl.cssclasses_weekday_head | 用於標題行中工作日名稱的css列表 |
htl.cssclass_month_head | 月份的CSS列表標題 |
htl.cssclass_month | 某個月的月歷CSS類 |
htl.cssclass_year | 某個年的年歷CSS類 |
htl.cssclasses_year_head | 年歷的CSS列表標題 |
3. 實操
打印2021年年歷
import calendar # 打印2021年歷 print(calendar.calendar(2021))
打印指定某年的月歷
print(calendar.month(2021,11))
4、總結
我們對calendar模塊日歷相關的方法的學習,calendar模塊主要提供3個主要類Calendar、TextCalendar、HTMLCalendar。我們可以更好地以字符串或者HTML形式打印出指定的日歷。
到此這篇關於 Python calendar模塊詳情的文章就介紹到這瞭,更多相關 Python calendar模塊內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- python編程開發時間序列calendar模塊示例詳解
- Python時間和日期庫的實現
- pandas 按日期范圍篩選數據的實現
- 最好的Python DateTime 庫之 Pendulum 長篇解析
- Python中的time模塊和calendar模塊