python編程開發時間序列calendar模塊示例詳解

大傢好,在之前的文章中詳細介紹瞭time和datetime模塊的使用。這兩個模塊更多的是用於處理時間和日期相關的問題。

本文介紹的是第三個模塊calendar,則主要是用於解決日歷方面的問題。

中文官網地址:https://docs.python.org/zh-cn/3/library/calendar.html

calendar模塊

該模塊定義瞭很多類型,主要包括:Calendar、TextCalendar、HTMLCalendar,其中 Calendar 是 TextCalendar 和 HTMLCalendar 的基類,這些類有著十分豐富的日歷處理方法。

同時ISO 8601標準還規定瞭 0 和 負數年份。0年指公元前1年, -1年指公元前2年,依此類推。使用之前先進行導入:

import calendar

首先我們可以看看2021年的完整日歷:

圖片

設置每周第一天

-setfirstweekday

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

1、默認情況:禮拜一是第一天

圖片

2、設置任意一天

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

圖片

是否閏年

-isleap

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

圖片

年份間的閏年數

-leapdays(y1, y2)

查看兩個年份之間有多少閏年。比如第二個例子中,從2000年開始到2021年共有6個閏年

圖片

星期幾

-weekday(year, month, day)

查看一個具體的日期是星期幾。比如第二例子中,11月1號是星期一,用0表示

0:星期1

1:星期2

2:星期3

圖片

monthrange(year, month)

返回指定年、月份第一天是星期幾和這個月的天數,具體示例如下:

10月份的第一天是星期五,11月份的第一天是星期一(0代表周一)

圖片

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

圖片

月的日歷矩陣

-monthcalendar(year, month)

返回某個月的日歷矩陣:

  • 每行代表1個星期
  • 默認從周一開始,比如11月份的1號剛好是周一
  • 此月份外的日子由零表示

圖片

月的日歷

-prmonth(year, month, w, l)

返回的是一個月的日歷,每日寬度間隔為 w 字符,l 是每星期的行數

下面是默認的情況:

圖片

可以改變參數w和l:相當於是一個控制列寬,一個控制行高

圖片

年的日歷

-calendar.calendar(year)

全部使用默認參數,查看某年的完整日歷:

圖片

格式化輸出日歷

在上面輸出年的日歷的結果中都是采用的默認參數形式。實際上calendar方法是存在多個參數的:

w:每個單元格寬度,默認是2

l:每列換行數,默認是1

c:月和月之間的間隔寬度,默認是6

m:將月份分成m個列

圖片

改變多個參數後顯示的效果:

圖片

圖片

以上就是python編程開發時間序列calendar模塊示例詳解的詳細內容,更多關於python時間序列的資料請關註WalkonNet其它相關文章!

推薦閱讀: