時間日期相關的模塊
- calendar 日歷模塊
- time 時間模塊
- datetime 日期時間模塊
- timeit 時間檢測模塊
日歷模塊
calendar()
功能:獲取指定年份的日歷字符串
格式:calendar.calendar(年份,w=2,l=1,c=6,m=3)
返回值:字符串w表示 2個日期之間的間隔字符長度l表示 一個周占用幾個行高度c表示2個月份之間的空白間隔m表示一行顯示幾個月
month()
功能:獲取指定年月的日歷字符串
格式:calendar.month(年,月,w=2,l=1)
返回值:字符串A
monthcalendar()
功能:獲取一個年月的矩陣列表
格式:calendar.monthcalendar(年,月)
返回值:二級列表
[[0, 0, 0, 0, 0, 1, 2],[3, 4, 5, 6, 7, 8, 9],[10, 11, 12, 13, 14, 15, 16],[17, 18, 19, 20, 21, 22, 23],[24, 25, 26, 27, 28, 29, 30],[31, 0, 0, 0, 0, 0, 0]
]
結果中0表示不是該月的數值,1-31才是當月信息
isleap()
功能:檢測指定年份是不是閏年
格式:calendar.isleap(年份)
返回值:布爾值
leapdays()
功能:檢測指定年份之間的閏年個數
格式:calendar.leapdays(開始年份,結束年份)
返回值:整數
注意:包含開始年份不包含結束年份
monthrange()
功能:獲取一個月的周幾開始及當月天數
格式:calendar.monthrange(年,月)
返回值:元組(周幾,天數)
注意:0-6表示周一到周天
weekday()
功能:根據年月日計算周幾
格式:calendar.weekday(年,月,日)
返回值:整型 0-6 表示周一到周天
timegm()
功能:將時間元組轉化為時間戳
格式:calendar.timegm(時間元組)
返回值:時間戳
time模塊
欲用此模塊也必須先引用
import time
時間戳
時間戳是一種用于表示時間的方式。從1970年1月1日0時0分0秒0毫秒開始到指定時間的秒數。世間戳也叫做unix時間戳,1970年1月1日成為unix元年。
作用:是為了方便時間的統一運算。
1.從1970年1月1日開始計算。
2.能夠使用到2038年的某一天
3.如果使用太遠的未來或者1970年以前的時間可能出現異常
UTC時間
UTC時間又稱之為世界協調時間。特指格林尼治天文臺所在位置的時間也叫做格林尼治時間。
中國的時區是東八區,和世界協調時間差了8個小時,多個八個小時
夏令時
夏令時就是通過在夏季將時間調快一小時,來提醒大家早睡早起身體好,節省蠟燭!
每天的時鐘變成了25個小時,注意本質還是24個小時
時間元組struct_time
時間元組就是一個用于表示時間格式的元組數據而已,他是time模塊操作時間的主要方式。
(tm_year=2017, tm_mon=7, tm_mday=4, tm_hour=9, tm_min=4, tm_sec=21, tm_wday=1, tm_yday=185, tm_isdst=0)
格式:(年,月,日,時,分,秒,周幾,一年中的第幾天,是否是夏令時)
索引 名稱 內容 取值0 tm_year 年 4位數年份 20171 tm_month 月 1~122 tm_day 日 1~313 tm_hour 時 0~23 4 tm_min 分 0~59 5 tm_sec 秒 0~61 60閏秒,61是歷史保留6 tm_wday 周幾 0~6 周一~周天7 tm_yday 一年中的第幾天 1~3668 tm_isdst 夏令時 0 是 其他不是
時間模塊的值
timezone
獲取當前時區與格林尼治所在時區的相差的秒數(推薦)
altzone
獲取當前時區與格林尼治所在時區的相差的秒數,在有夏令時的情況下
daylight
檢測是否是夏令時的狀態 0 夏令時 非0就不是
時間模塊的函數
asctime()
功能:返回一個正常的可讀的時間字符串
格式:time.asctime(時間元組)
返回值:時間字符串
localtime()
功能:獲取當前時間元組
格式1:time.localtime()返回值:本地時間元組
格式2:time.localtime(時間戳)
返回值:指定時間戳的本地時間元組
gmtime()
功能:獲取當前UTC時間元組
格式1:time.gmtime()返回值:當前UTC時間元組格式2:time.gmtime(時間戳)返回值:指定時間戳的UTC時間元組
ctime()
功能:獲取本地時間的字符串格式
格式1: time.ctime()返回值:時間格式字符串 相當于 asctime(localtime())格式2: time.ctime(時間戳)返回值:時間格式字符串 相當于asctime(localtime(時間戳))
mktime()
功能:使用時間元組制作時間戳
格式:time.mktime(時間元組)
返回值:時間戳
注意:按照本地時間來進行計算,如果想按照UTC時間計算,則是calendar.timegm()
clock()
功能:獲取CPU時間,用于計算代碼執行時間
格式:time.clock()
返回值:浮點數時間戳
主要用于計算程序執行時間,開始獲取一次,程序執行完畢在獲取一次,相減獲得執行總時間,僅py3.3以下
perf_counter()
功能:獲取CPU時間用于計算時間差
格式:time.perf_counter()
返回值:浮點數時間戳
主要用于計算程序執行時間,開始獲取一次,程序執行完畢在獲取一次,相減獲得執行總時間,僅py3.3以上
sleep()
功能:程序睡眠,使得程序在此處等待指定的時間
格式:time.sleep(時間秒數)
返回值:無
time()
功能:獲取當前本地的時間戳
格式:time.time()
返回值:浮點數時間戳
strftime()
功能:格式化輸出時間字符串(str foramt time)
格式:time.strftime('字符串格式'[,時間元組])
返回值:格式化之后的哦字符串
格式 含義 備注
%a 本地(locale)簡化星期名稱
%A 本地完整星期名稱
%b 本地簡化月份名稱
%B 本地完整月份名稱
%c 本地相應的日期和時間表示
%d 一個月中的第幾天(01 - 31)
%H 一天中的第幾個小時(24 小時制,00 - 23)
%I 一天中的第幾個小時(12 小時制,01 - 12)
%j 一年中的第幾天(001 - 366)
%m 月份(01 - 12)
%M 分鐘數(00 - 59)
%p 本地 am 或者 pm 的相應符 注1
%S 秒(01 - 61) 注2
%U 一年中的星期數(00 - 53 星期天是一個星期的開始)第一個星期天之前的所有天數都放在第 0 周 注3
%w 一個星期中的第幾天(0 - 6,0 是星期天) 注3
%W 和 %U 基本相同,不同的是 %W 以星期一為一個星期的開始
%X 本地相應時間
%y 去掉世紀的年份(00 - 99)
%Y 完整的年份
%z 用 +HHMM 或 -HHMM 表示距離格林威治的時區偏移(H 代表十進制的小時數,M 代表十進制的分鐘數)
%% %號本身
strptime()
功能:解析時間字符串成一個元組,strftime的逆向操作(str parse time)
格式:time.strptime('時間字符串','時間字符串格式')
返回值:時間元組