這篇文章將為大家詳細講解有關(guān)Python中time模塊和calendar模塊是什么,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
成都創(chuàng)新互聯(lián)主營龍鳳網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,app開發(fā)定制,龍鳳h5小程序開發(fā)搭建,龍鳳網(wǎng)站營銷推廣歡迎龍鳳等地區(qū)企業(yè)咨詢
time 模塊
今天我們要介紹的是一個會經(jīng)常用到的模塊—— time ,顧名思義,這是一個時間相關(guān)的模塊。前面我們也介紹過常用模塊,比如 os 模塊,在使用這些模塊前,我們需要先將它導(dǎo)入進來。 time 模塊的導(dǎo)入方式如下:
import time
先來一個簡單的樣例吧:
for i in range(0, 5): print(i) time.sleep(1)
打印結(jié)果我就不展示了,同學(xué)們應(yīng)該都猜得到。那么 time.sleep(1) 這句話的作用是什么呢?
sleep() 方法是一個睡眠方法,意思就是程序執(zhí)行到這里,需要等待一會,什么都不做,上面的代碼在執(zhí)行的時候可以發(fā)現(xiàn),每隔 1s 會打印一個數(shù)字, sleep() 里面給出的參數(shù)是休眠的時間,單位是秒。
time 模塊的常用方法
首當(dāng)其沖當(dāng)然是獲取當(dāng)前的時間戳。
print(time.time())
結(jié)果如下:
1573054874.6483195
這里就看不懂了哇,我先來解釋下什么是時間戳。
在程序中,一般已1970年1月1日0時0分0秒作為起始時間,時間戳就是從起始時間到現(xiàn)在的時長,在 Python 中,這個時長的單位是秒。那么為什么起始時間是1970年1月1日0時0分0秒呢?
emmmmmmmmmmmmm,這個我還真不知道,據(jù)我所了解的語言,所有的時間戳都是從這個時間點開始起算的。我順手幫各位同學(xué)百度了下,表示并沒有找到答案。
不要糾結(jié)這個問題了,我們看下一個。
print(time.localtime())
結(jié)果如下:
time.struct_time(tm_year=2019, tm_mon=11, tm_mday=6, tm_hour=23, tm_min=47, tm_sec=13, tm_wday=2, tm_yday=310, tm_isdst=0)
這個方法會給出詳細的當(dāng)前的本地時間,可以細化到年、月、日、小時、分鐘、秒等。
注意: 這個時間是當(dāng)前本地的計算的時間哦,如果修改計算機的時間,這個值會發(fā)生相應(yīng)的改變的。
print(time.mktime(time.localtime()))
結(jié)果如下:
1573055380.0
各位同學(xué)看著打印結(jié)果應(yīng)該已經(jīng)猜到了, mktime() 可以將當(dāng)前的本地時間轉(zhuǎn)化為一個時間戳。
以上不管是時間戳、還是本地時間,看起來并不方便,下面我們介紹如何格式化時間。
最簡單的方法,可以使用函數(shù) asctime() 。
print(time.asctime(time.localtime()))
結(jié)果如下:
Wed Nov 6 23:53:52 2019
這個結(jié)果還帶著英文,并不符合中國人的習(xí)慣嘛,別急,我們還可以自定義格式。
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
結(jié)果如下:
2019-11-06 23:55:56
這樣看著就舒服多了么,我們可以通過 strftime() 來自定義日期格式。
這里列舉一下日期格式化的符號:
%y 兩位數(shù)的年份表示(00-99)
%Y 四位數(shù)的年份表示(000-9999)
%m 月份(01-12)
%d 月內(nèi)中的一天(0-31)
%H 24小時制小時數(shù)(0-23)
%I 12小時制小時數(shù)(01-12)
%M 分鐘數(shù)(00=59)
%S 秒(00-59)
%a 本地簡化星期名稱
%A 本地完整星期名稱
%b 本地簡化的月份名稱
%B 本地完整的月份名稱
%c 本地相應(yīng)的日期表示和時間表示
%j 年內(nèi)的一天(001-366)
%p 本地A.M.或P.M.的等價符
%U 一年中的星期數(shù)(00-53)星期天為星期的開始
%w 星期(0-6),星期天為星期的開始
%W 一年中的星期數(shù)(00-53)星期一為星期的開始
%x 本地相應(yīng)的日期表示
%X 本地相應(yīng)的時間表示
%Z 當(dāng)前時區(qū)的名稱
%% %號本身
哇,這也太多了,記不住怎么辦?
其實這個并不需要你都記下來,只需要記住常用的就好了,就比如我上面使用的年、月、日、時、分、秒。其余的不常用的可以在有需要的時候再來查表。
有時候時間之間不使用短橫杠 - 來隔開,而選擇使用斜杠 / 隔開,這個怎么辦?
這個很簡單咯,看我的:
print(time.strftime("%Y/%m/%d %H:%M:%S", time.localtime()))
結(jié)果如下:
2019/11/07 00:02:18
calendar 模塊
都聊到這里了,我們順便再聊一個模塊,日歷。
先看下代碼演示吧,這個就比較有意思了:
import calendar print(calendar.calendar(theyear=2020, w=2, l=1, c=6))
結(jié)果如下:
2020 January February March Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su 1 2 3 4 5 1 2 1 6 7 8 9 10 11 12 3 4 5 6 7 8 9 2 3 4 5 6 7 8 13 14 15 16 17 18 19 10 11 12 13 14 15 16 9 10 11 12 13 14 15 20 21 22 23 24 25 26 17 18 19 20 21 22 23 16 17 18 19 20 21 22 27 28 29 30 31 24 25 26 27 28 29 23 24 25 26 27 28 29 30 31 April May June Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su 1 2 3 4 5 1 2 3 1 2 3 4 5 6 7 6 7 8 9 10 11 12 4 5 6 7 8 9 10 8 9 10 11 12 13 14 13 14 15 16 17 18 19 11 12 13 14 15 16 17 15 16 17 18 19 20 21 20 21 22 23 24 25 26 18 19 20 21 22 23 24 22 23 24 25 26 27 28 27 28 29 30 25 26 27 28 29 30 31 29 30 July August September Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su 1 2 3 4 5 1 2 1 2 3 4 5 6 6 7 8 9 10 11 12 3 4 5 6 7 8 9 7 8 9 10 11 12 13 13 14 15 16 17 18 19 10 11 12 13 14 15 16 14 15 16 17 18 19 20 20 21 22 23 24 25 26 17 18 19 20 21 22 23 21 22 23 24 25 26 27 27 28 29 30 31 24 25 26 27 28 29 30 28 29 30 31 October November December Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su 1 2 3 4 1 1 2 3 4 5 6 5 6 7 8 9 10 11 2 3 4 5 6 7 8 7 8 9 10 11 12 13 12 13 14 15 16 17 18 9 10 11 12 13 14 15 14 15 16 17 18 19 20 19 20 21 22 23 24 25 16 17 18 19 20 21 22 21 22 23 24 25 26 27 26 27 28 29 30 31 23 24 25 26 27 28 29 28 29 30 31 30
我們把 2020 年的日歷打印出來了。
·w = 每個日期之間的間隔字符數(shù)
·l = 每周所占用的行數(shù)
·c = 每個月之間的間隔字符數(shù)
以后我們看日歷可以使用這個函數(shù)看了。
要用你們用,反正我是不用,我選擇使用這個:
除了直接返回全年的日歷,calendar 還支持返回指定月份的日歷:
print(calendar.month(2019, 11))
結(jié)果如下:
November 2019 Mo Tu We Th Fr Sa Su 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
我們還可以直接獲得某月的總天數(shù):
print(calendar.monthlen(2019, 11))
結(jié)果如下:
30
這個功能好像有點雞肋,我們獲取某月的天數(shù)難道不是都靠那句兒歌么?
一三五七八十臘,三十一天永不差
我們還可以知道指定的日期對應(yīng)的星期數(shù):
print(calendar.weekday(2019, 11, 7))
結(jié)果如下:
3
這個我覺得蠻實用的,再也不用自己寫算法去推算了。
關(guān)于Python中time模塊和calendar模塊是什么就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
當(dāng)前題目:Python中time模塊和calendar模塊是什么
文章起源:http://aaarwkj.com/article14/gjcede.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、網(wǎng)站維護、網(wǎng)站導(dǎo)航、域名注冊、App開發(fā)、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)