Python關于時間序列calendar模塊的深入講解
大家好,在之前的文章中詳細介紹了time和datetime模塊的使用。這兩個模塊更多的是用于處理時間和日期相關的問題。
本文介紹的是第三個模塊calendar,則主要是用于解決日歷方面的問題。
中文官網(wǎng)地址:https://docs.python.org/zh-cn/3/library/calendar.html
calendar模塊
該模塊定義了很多類型,主要包括:Calendar、TextCalendar、HTMLCalendar,其中 Calendar 是 TextCalendar 和 HTMLCalendar 的基類,這些類有著十分豐富的日歷處理方法。
同時ISO 8601標準還規(guī)定了 0 和 負數(shù)年份。0年指公元前1年, -1年指公元前2年,依此類推。使用之前先進行導入:
import calendar
首先我們可以看看2021年的完整日歷:

設置每周第一天-setfirstweekday
默認情況下:0 表示星期一,6 表示星期天。我們可以通過setfirstweekday()來設置一周的第一天為星期天 (6) 或者其它任意一天
1、默認情況:禮拜一是第一天

2、設置任意一天
下面的例子中我們設置周六作為第一天

是否閏年-isleap
查看一個年份是否是閏年。是則返回True,否則返回False

年份間的閏年數(shù)-leapdays(y1, y2)
查看兩個年份之間有多少閏年。比如第二個例子中,從2000年開始到2021年共有6個閏年

星期幾-weekday(year, month, day)
查看一個具體的日期是星期幾。比如第二例子中,11月1號是星期一,用0表示
- 0:星期1
- 1:星期2
- 2:星期3

monthrange(year, month)
返回指定年、月份第一天是星期幾和這個月的天數(shù),具體示例如下:
10月份的第一天是星期五,11月份的第一天是星期一(0代表周一)

通過萬年歷來驗證下:11.1剛好是星期一

月的日歷矩陣-monthcalendar(year, month)
返回某個月的日歷矩陣:
- 每行代表1個星期
- 默認從周一開始,比如11月份的1號剛好是周一
- 此月份外的日子由零表示

月的日歷-prmonth(year, month, w, l)
返回的是一個月的日歷,每日寬度間隔為 w 字符,l 是每星期的行數(shù)
下面是默認的情況:

可以改變參數(shù)w和l:相當于是一個控制列寬,一個控制行高

年的日歷-calendar.calendar(year)
全部使用默認參數(shù),查看某年的完整日歷:

格式化輸出日歷
在上面輸出年的日歷的結果中都是采用的默認參數(shù)形式。實際上calendar方法是存在多個參數(shù)的:
- w:每個單元格寬度,默認是2
- l:每列換行數(shù),默認是1
- c:月和月之間的間隔寬度,默認是6
- m:將月份分成m個列

改變多個參數(shù)后顯示的效果:


技術交流
歡迎轉載、收藏、有所收獲點贊支持一下!

以上就是Python關于時間序列calendar模塊的深入講解的詳細內容,更多關于Python 時間序列的資料請關注腳本之家其它相關文章!
相關文章
解析pandas apply() 函數(shù)用法(推薦)
這篇文章主要介紹了pandas apply() 函數(shù)用法,大家需要掌握函數(shù)作為一個對象,能作為參數(shù)傳遞給其它函數(shù),也能作為函數(shù)的返回值,具體內容詳情跟隨小編一起看看吧2021-10-10
Django生成數(shù)據(jù)庫及添加用戶報錯解決方案
這篇文章主要介紹了Django生成數(shù)據(jù)庫及添加用戶報錯解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-10-10
如何優(yōu)雅地處理Django中的favicon.ico圖標詳解
默認情況下,瀏覽器訪問一個網(wǎng)站的時候,同時還會向服務器請求"/favicon.ico"這個URL,目的是獲取網(wǎng)站的圖標,下面這篇文章主要給大家介紹了關于如何優(yōu)雅地處理Django中favicon.ico圖標的相關資料,需要的朋友可以參考下2018-07-07
python 如何把docker-compose.yaml導入到數(shù)據(jù)庫相關條目里
這篇文章主要介紹了python 如何把docker-compose.yaml導入到數(shù)據(jù)庫相關條目里?下面小編就為大家介紹一下實現(xiàn)方式,一起跟隨小編過來看看吧2021-01-01

