一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python中的time模塊和calendar模塊

Python中的time模塊和calendar模塊

2022-02-23 00:06一碗周 Python

這篇文章主要介紹了Python中的time模塊和calendar模塊,在Python中對時間和日期的處理方式有很多,其中轉(zhuǎn)換日期是最常見的一個功能。Python中的時間間隔是以秒為單位的浮點小數(shù)。下面來看看文章具體內(nèi)容的介紹,需要的朋友可以參考

Python中對時間和日期的處理方式有很多,其中轉(zhuǎn)換日期是最常見的一個功能。Python中的時間間隔是以秒為單位的浮點小數(shù)。

1、時間戳

Python中基本都是以時間戳來保存當前時間的。時間戳單位最適于做日期運算。但是1970年之前的日期就無法以此表示了。太遙遠的日期也不行,UNIXWindows只支持到2038年。

時間戳是指格林威治時間1970年01月01日00時00分00秒起至當下的總秒數(shù)。通俗的講, 時間戳是一份能夠表示一份數(shù)據(jù)在一個特定時間點已經(jīng)存在的完整的可驗證的數(shù)據(jù)。 它的提出主要是為用戶提供一份電子證據(jù), 以證明用戶的某些數(shù)據(jù)的產(chǎn)生時間。

Python中使用time模塊的time函數(shù)來獲取當前的時間戳

示例代碼:

?
1
2
3
import time
time_stamp = time.time()
print("當前的時間戳為:", time_stamp)  # 當前的時間戳為: 1590585400.6808906

2、時間元組

Python中的很多函數(shù)都是用一個元組裝起來9組數(shù)字來處理時間。

序號 屬性
0 tm_year 2008
1 tm_mon 1 到 12
2 tm_mday 1 到 31
3 tm_hour 0 到 23
4 tm_min 0 到 59
5 tm_sec 0 到 61 (60或61 是閏秒)
6 tm_wday 0到6 (0是周一)
7 tm_yday 一年中的第幾天,1 到 366
8 tm_isdst 是否為夏令時,值有:1(夏令時)、0(不是夏令時)、-1(未知),默認 -1
參與菜鳥教程

3、獲取當前時間

從返回的時間戳轉(zhuǎn)變?yōu)闀r間元組可以使用time模塊的localtime()函數(shù); time.gmtime([secs])也返回一個時間元組

示例代碼:

?
1
2
3
4
5
import time
time_stamp = time.time()  # 獲取當前時間戳
localtime = time.localtime(time_stamp)
print(localtime)
# time.struct_time(tm_year=2020, tm_mon=5, tm_mday=27, tm_hour=21, tm_min=36, tm_sec=42, tm_wday=2, tm_yday=148, tm_isdst=0)

4、格式化時間

可以使用time模塊的asctime函數(shù)將時間元組格式化為最簡單的可讀模式,不給參數(shù)的話表示當前時間

time.ctime([secs])此參數(shù)接受時間戳為單位,返回日期的可讀模式,不給參數(shù)相當于time.asctime()

示例代碼:

?
1
2
3
4
import time
time_stamp = time.time()
localtime = time.asctime(time.localtime(time_stamp))
print("當前時間為:", localtime)  # 當前時間為: Wed May 27 21:47:48 2020

5、格式化日期

Python中的日期格式化符號:

符號 描述
%y 兩位數(shù)的表示年份(00-99)
%Y 四位數(shù)的表示年份(0000-9999)
%m 月份(01-12)
%d 月內(nèi)中的某一天(1-31)
%H 24小時制小時數(shù)(0-23)
%I 12小時制小時數(shù)(01-12)
%M 分鐘數(shù)(00=59)
%S 秒(00-59)
%a 本地簡化星期名稱
%A 本地完整星期名稱
%b 本地簡化的月份名稱
%B 本地完整的月份名稱
%c 本地相應的日期表示和時間表示
%j 年內(nèi)的一天(001-366)
%p 本地A.M.或P.M.的等價符
%U 一年中的星期數(shù)(00-53)星期天為星期的開始
%w 星期(0-6),星期天為星期的開始
%W 一年中的星期數(shù)(00-53)星期一為星期的開始
%x 本地相應的日期表示
%X 本地相應的時間表示
%Z 當前時區(qū)的名稱
%% %號本身
time mktime(結(jié)構(gòu)化的時間或者完整的9位元組元素) 函數(shù)執(zhí)行與gmtime() , localtime()相反的操作,它接收struct_time對象作為參數(shù),返回用秒數(shù)來表示時間的浮點數(shù)。如果輸入的值不是一個合法的時間,將觸發(fā) OverflowError 或 ValueError

示例代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
import time
time_stamp = time.time()
print(time_stamp)  # 1590590683.0062041
# 4位數(shù)的年份-月份-天數(shù) 24小時制:分鐘:秒 周幾 今年的第幾天
localtime = time.strftime("%Y-%m-%d %H:%M:%S %A %j", time.localtime(time_stamp))
print(localtime)  # 2020-05-27 22:44:43 Wednesday 148
# 轉(zhuǎn)變?yōu)闀r間元組
localtime_tuple = time.strptime(localtime, "%Y-%m-%d %H:%M:%S %A %j")
print(localtime_tuple)  # time.struct_time(tm_year=2020, tm_mon=5, tm_mday=27, tm_hour=22, tm_min=44, tm_sec=43, tm_wday=2, tm_yday=148, tm_isdst=-1)
 
# 將時間元組轉(zhuǎn)換為秒(時間戳)
time_stamp = time.mktime(localtime_tuple)
print(time_stamp)  # 1590590683.0  # 與一開始獲取的基本相等

6、獲取CPU時間

time.perf_counter() 返回計時器的精準時間(系統(tǒng)的運行時間),包含整個系統(tǒng)的睡眠時間。由于返回值的基準點是未定義的,所以,只有連續(xù)調(diào)用的結(jié)果之間的差才是有效的。

time.process_time()返回當前進程執(zhí)行 CPU 的時間總和,不包含睡眠時間。由于返回值的基準點是未定義的,所以,只有連續(xù)調(diào)用的結(jié)果之間的差才是有效的。

time.sleep() 函數(shù)推遲調(diào)用線程的運行,可通過參數(shù)secs指秒數(shù),表示進程掛起的時間。

示例代碼:

?
1
2
3
4
5
6
7
8
import time
# 獲取系統(tǒng)運行該函數(shù)的時間
print(time.perf_counter())  # 0.0208446
time.sleep(2)
# 讀取系統(tǒng)運行該函數(shù)的時間,
print(time.perf_counter())  # 2.0208952  # 兩者的差距微乎其微
# 獲取當前進程執(zhí)行 CPU 的時間總和
print(time.process_time())  # 0.015625  # 不包含睡眠時間

7、日歷模塊

Calendar日歷模塊,此模塊中的函數(shù)都是日歷相關的,例如打印某月的字符月歷

函數(shù) 描述
calendar.calendar(year,w=2,l=1,c=6) 返回一個多行字符串格式的year年年歷,3個月一行,間隔距離為c。 每日寬度間隔為w字符。每行長度為21* W+18+2* C。l是每星期行數(shù)。
calendar.month(year,month,w=2,l=1) 返回一個多行字符串格式的year年month月日歷,兩行標題,一周一行。每日寬度間隔為w字符。每行的長度為7* w+6。l是每星期的行數(shù)。
calendar.monthrange(year,month) 返回兩個整數(shù)。第一個是該月的星期幾,第二個是該月有幾天。星期幾是從0(星期一)到 6(星期日)。
calendar.leapdays(y1,y2) 返回在Y1,Y2兩年之間的閏年總數(shù)。
calendar.isleap(year) 判斷是否為閏年,是閏年返回 True,否則為 false。
示例代碼:
?
1
2
3
4
5
6
7
8
9
10
11
import calendar
# 打印今年的年歷
print(calendar.calendar(2020))
# 打印本月的月歷
print(calendar.month(2020, 5))
# monthrange方法
print(calendar.monthrange(2020, 5))  # (4, 31)  # 5月份的第一天是周五一共31天,因為周一是0所以4是周五
# 計算1000年到2000年的閏年總數(shù)
print(calendar.leapdays(1000, 2000))  # 242
# 判斷今年是否為閏年
print(calendar.isleap(2020))  # True

time.strftime(fmt[,tupletime])接收以時間元組,并返回以可讀字符串表示的當?shù)貢r間,格式由fmt決定。

time.strptime(str,fmt='%a %b %d %H:%M:%S %Y')根據(jù)fmt的格式把一個時間字符串解析為時間元組。

到此這篇關于Python中的time模塊和calendar模塊的文章就介紹到這了,更多相關Python time模塊和calendar模塊內(nèi)容請搜索服務器之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://juejin.cn/post/7024270907442987045

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 美女扒开尿口让男生添 漫画 | free性丰满hd性欧美厨房 | 国产普通话对白露脸流出 | 国产午夜免费视频 | 日麻逼| 91交换论坛 | 四虎免费看黄 | 特黄特色大片免费高清视频 | 亚洲国产在线视频中文字 | 丝袜兔女郎被啪在线观看91 | 香蕉久久一区二区不卡无毒影院 | 鬼吹灯天星术在线高清观看 | 古装一级无遮挡毛片免费观看 | 久9青青cao精品视频在线 | 牧教师在线观看 | 国产精品免费小视频 | 欧美高清免费一级在线 | 国产人成激情视频在线观看 | 男人天堂久久 | 变态 另类 国产 亚洲 | 99rv精品视频在线播放 | 青青草成人在线观看 | 欧美大陆日韩一区二区三区 | 久久精品视在线观看85 | 40分钟在线观看免费 | 天天爽天天干天天操 | 喜欢老头吃我奶躁我的动图 | 午夜伦伦电影理论片费看 | 黄+色+性+人免费 | 婷婷色天使在线视频观看 | 为什么丈夫插我我却喜欢被打着插 | 肉浦团在线观看 | 99在线播放 | 亚洲精品国产成人 | 乌克兰精品摘花处破 | 国产91精品露脸国语对白 | 精品一区二区三区高清免费观看 | 娇妻终于接受了3p的调教 | av毛片在线看 | 女明星放荡高h日常生活 | 亚洲色欲色欲综合网站 |