Python關(guān)于時(shí)間序列calendar模塊的深入講解
大家好,在之前的文章中詳細(xì)介紹了time和datetime模塊的使用。這兩個(gè)模塊更多的是用于處理時(shí)間和日期相關(guān)的問題。
本文介紹的是第三個(gè)模塊calendar,則主要是用于解決日歷方面的問題。
中文官網(wǎng)地址:https://docs.python.org/zh-cn/3/library/calendar.html
calendar模塊
該模塊定義了很多類型,主要包括:Calendar、TextCalendar、HTMLCalendar,其中 Calendar 是 TextCalendar 和 HTMLCalendar 的基類,這些類有著十分豐富的日歷處理方法。
同時(shí)ISO 8601標(biāo)準(zhǔn)還規(guī)定了 0 和 負(fù)數(shù)年份。0年指公元前1年, -1年指公元前2年,依此類推。使用之前先進(jìn)行導(dǎo)入:
import calendar
首先我們可以看看2021年的完整日歷:
設(shè)置每周第一天-setfirstweekday
默認(rèn)情況下:0 表示星期一,6 表示星期天。我們可以通過setfirstweekday()
來設(shè)置一周的第一天為星期天 (6) 或者其它任意一天
1、默認(rèn)情況:禮拜一是第一天
2、設(shè)置任意一天
下面的例子中我們設(shè)置周六作為第一天
是否閏年-isleap
查看一個(gè)年份是否是閏年。是則返回True,否則返回False
年份間的閏年數(shù)-leapdays(y1, y2)
查看兩個(gè)年份之間有多少閏年。比如第二個(gè)例子中,從2000年開始到2021年共有6個(gè)閏年
星期幾-weekday(year, month, day)
查看一個(gè)具體的日期是星期幾。比如第二例子中,11月1號(hào)是星期一,用0表示
- 0:星期1
- 1:星期2
- 2:星期3
monthrange(year, month)
返回指定年、月份第一天是星期幾和這個(gè)月的天數(shù),具體示例如下:
10月份的第一天是星期五,11月份的第一天是星期一(0代表周一)
通過萬年歷來驗(yàn)證下:11.1剛好是星期一
月的日歷矩陣-monthcalendar(year, month)
返回某個(gè)月的日歷矩陣:
- 每行代表1個(gè)星期
- 默認(rèn)從周一開始,比如11月份的1號(hào)剛好是周一
- 此月份外的日子由零表示
月的日歷-prmonth(year, month, w, l)
返回的是一個(gè)月的日歷,每日寬度間隔為 w 字符,l 是每星期的行數(shù)
下面是默認(rèn)的情況:
可以改變參數(shù)w和l:相當(dāng)于是一個(gè)控制列寬,一個(gè)控制行高
年的日歷-calendar.calendar(year)
全部使用默認(rèn)參數(shù),查看某年的完整日歷:
格式化輸出日歷
在上面輸出年的日歷的結(jié)果中都是采用的默認(rèn)參數(shù)形式。實(shí)際上calendar方法是存在多個(gè)參數(shù)的:
- w:每個(gè)單元格寬度,默認(rèn)是2
- l:每列換行數(shù),默認(rèn)是1
- c:月和月之間的間隔寬度,默認(rèn)是6
- m:將月份分成m個(gè)列
改變多個(gè)參數(shù)后顯示的效果:
技術(shù)交流
歡迎轉(zhuǎn)載、收藏、有所收獲點(diǎn)贊支持一下!
以上就是Python關(guān)于時(shí)間序列calendar模塊的深入講解的詳細(xì)內(nèi)容,更多關(guān)于Python 時(shí)間序列的資料請關(guān)注本站其它相關(guān)文章!
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。