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è)置任意一天
下面的例子中我們?cè)O(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í)間序列的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
解析pandas apply() 函數(shù)用法(推薦)
這篇文章主要介紹了pandas apply() 函數(shù)用法,大家需要掌握函數(shù)作為一個(gè)對(duì)象,能作為參數(shù)傳遞給其它函數(shù),也能作為函數(shù)的返回值,具體內(nèi)容詳情跟隨小編一起看看吧2021-10-10
Django生成數(shù)據(jù)庫(kù)及添加用戶報(bào)錯(cuò)解決方案
這篇文章主要介紹了Django生成數(shù)據(jù)庫(kù)及添加用戶報(bào)錯(cuò)解決方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10
使用 python 實(shí)現(xiàn)單人AI 掃雷游戲
這篇文章主要介紹了使用 python 實(shí)現(xiàn)單人AI 掃雷游戲,今天我們用 Python 完成這個(gè)小程序,并且用AI來學(xué)習(xí)并實(shí)現(xiàn)它,需要的朋友可以參考下2021-08-08
如何優(yōu)雅地處理Django中的favicon.ico圖標(biāo)詳解
默認(rèn)情況下,瀏覽器訪問一個(gè)網(wǎng)站的時(shí)候,同時(shí)還會(huì)向服務(wù)器請(qǐng)求"/favicon.ico"這個(gè)URL,目的是獲取網(wǎng)站的圖標(biāo),下面這篇文章主要給大家介紹了關(guān)于如何優(yōu)雅地處理Django中favicon.ico圖標(biāo)的相關(guān)資料,需要的朋友可以參考下2018-07-07
python 如何把docker-compose.yaml導(dǎo)入到數(shù)據(jù)庫(kù)相關(guān)條目里
這篇文章主要介紹了python 如何把docker-compose.yaml導(dǎo)入到數(shù)據(jù)庫(kù)相關(guān)條目里?下面小編就為大家介紹一下實(shí)現(xiàn)方式,一起跟隨小編過來看看吧2021-01-01

