calendar在python的用法?calendar 是與日曆相關的模塊,該模塊定義了很多類型,主要包括:Calendar、TextCalendar、HTMLCalendar,其中 Calendar 是 TextCalendar 和 HTMLCalendar 的基類,這些類有着十分豐富的日曆處理方法,我來為大家講解一下關于calendar在python的用法?跟着小編一起來看一看吧!
calendar 是與日曆相關的模塊,該模塊定義了很多類型,主要包括:Calendar、TextCalendar、HTMLCalendar,其中 Calendar 是 TextCalendar 和 HTMLCalendar 的基類,這些類有着十分豐富的日曆處理方法。
calendar 模塊對于簡單的文本日曆,我們使用 calendar 模塊直接調用的方法或屬性即可,下面來具體看一下。
setfirstweekday(firstweekday)設置每一周的開始(0 表示星期一,6 表示星期天),calendar 提供了 MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY、SATURDAY 和 SUNDAY 幾個常量方便使用。例如,設置每周的第一天為星期天,示例如下:
import calendar
calendar.setfirstweekday(calendar.SUNDAY)
返回當前設置的每星期的第一天的數值,默認為星期一。示例如下:
import calendar
print(calendar.firstweekday())
如果 year 是閏年則返回 True,否則返回 False。示例如下:
import calendar
print(calendar.isleap(9102))
返回在範圍 y1 至 y2 (包含 y1 和 y2 )之間的閏年的年數,其中 y1 和 y2 是年份。示例如下:
import calendar
print(calendar.leapdays(1945,2019))
返回一周中的某一天 ( 0 ~ 6 代表周一至周日)。示例如下:
import calendar
print(calendar.weekday(2019,10,1))
返回指定年、月份第一天是星期幾和這個月的天數。示例如下:
import calendar
print(calendar.monthrange(2019, 10))
返回表示一個月的日曆的矩陣,每一行代表一周,此月份外的日子由零表示,每周默認從周一開始,可使用 setfirstweekday() 改變默認值。示例如下:
import calendar
print(calendar.monthcalendar(2019,10))
打印由 month() 返回的一個月的日曆,每日寬度間隔為 w 字符,l 是每星期的行數。示例如下:
import calendar
print(calendar.prmonth(2019,10))
打印由 calendar() 返回的整年的日曆。示例如下:
import calendar
print(calendar.prcal(2019))
在當前的語言環境下表示星期幾的列表。示例如下:
import calendar
print(calendar.day_name[0])
在當前語言環境下表示星期幾縮寫的列表。示例如下:
import calendar
print(calendar.day_abbr[0])
在當前語言環境下表示一年中月份的列表,一月的月号為 1,它的長度為 13 且 month_name[0] 是空字符串。示例如下:
import calendar
print(calendar.month_name[1])
在當前語言環境下表示月份簡寫的列表。示例如下:
import calendar
print(calendar.month_abbr[1])
Calendar 對象提供了一些可被用于準備日曆數據格式化的方法,這個類本身不執行任何格式化操作,這部分任務應由子類來完成,下面具體看一下。
iterweekdays()返回一個叠代器,叠代器的内容為一星期的數字。示例如下:
from calendar import Calendar
c = Calendar()
print(list(c.iterweekdays()))
返回一個叠代器,叠代器的内容為 year 年 month 月(1-12)的日期。示例如下:
from calendar import Calendar
c = Calendar()
print(list(c.itermonthdates(2019,10)))
返回一個叠代器,叠代器的内容與 itermonthdates() 類似為 year 年 month 月的日期,但不受 datetime.date 範圍的限制,叠代器中的元素為一個由日期和代表星期幾的數字組成的的元組。示例如下:
from calendar import Calendar
c = Calendar()
print(list(c.itermonthdays2(2019,10)))
返回一個叠代器,叠代器的内容與 itermonthdates() 類似為 year 年 month 月的日期,不受 datetime.date 範圍的限制,叠代器的元素為一個由年、月、日組成的元組。示例如下:
from calendar import Calendar
c = Calendar()
print(list(c.itermonthdays3(2019,10)))
TextCalendar 對象提供了一些生成純文本日曆的方法,下面具體看一下。
formatmonth(theyear, themonth, w=0, l=0)返回一個多行字符串來表示指定年月的日曆,w 為日期的寬度,始終保持日期居中,l 指定了每星期占用的行數;以上這些還依賴于構造器或者 setfirstweekday() 方法指定的周的第一天是哪一天。示例如下:
from calendar import TextCalendar
tc = TextCalendar()
print(tc.formatmonth(2019,10))
與 formatmonth() 方法一樣,返回一個月的日曆。示例如下:
from calendar import TextCalendar
tc = TextCalendar()
print(tc.prmonth(2019,10))
返回一個多行字符串,這個字符串為一個 m 列日曆,可選參數 w、l、c 分别表示日期列數、周的行數、月之間的間隔;以上這些還依賴于構造器或者 setfirstweekday() 指定哪一天為一周的第一天。示例如下:
from calendar import TextCalendar
tc = TextCalendar()
print(tc.formatyear(2019))
與 formatyear() 方法一樣,返回一整年的日曆。示例如下:
from calendar import TextCalendar
tc = TextCalendar()
print(tc.pryear(2019))
HTMLCalendar 對象提供了一些生成 HTML 日曆的方法,下面具體看一下。
formatmonth(theyear, themonth, withyear=True)返回一個 HTML 表格作為指定年月的日曆,withyear 為 True,則年份将會包含在表頭,否則隻顯示月份。示例如下:
from calendar import HTMLCalendar
hc = HTMLCalendar()
print(hc.formatmonth(2019,10))
返回一個 HTML 表格作為指定年份的日曆,width 用于規定每一行顯示月份的數量。示例如下:
from calendar import HTMLCalendar
hc = HTMLCalendar()
print(hc.formatyear(2019))
返回一個完整的 HTML 頁面作為指定年份的日曆,width 用于規定每一行顯示的月份數量,css 為層疊樣式表的名字,如果不使用任何層疊樣式表,可以使用 None,encoding 為輸出頁面的編碼 (默認為系統的默認編碼)。示例如下:
from calendar import HTMLCalendar
hc = HTMLCalendar()
print(hc.formatyearpage(2019))
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!