您好,登錄后才能下訂單哦!
導讀 |
python只獲取日期,要用到的是python的內(nèi)置模塊,time模塊。
顧名思義,這是一個和時間有關(guān)的模塊。 |
首先導入time模塊。
import time
第一步要做的就是從1970紀元后到目前為止度過的秒數(shù)(浮點類型)。
其實想要獲得這個秒數(shù),只有一個方法,就是通過time模塊內(nèi)的time方法來獲得。
即time.time()
但是,time.time返回的這個高精度浮點數(shù)我們并不能準確的得到我們想要的當前時間。我們只知道這是從1970到目前為止已經(jīng)過了多少秒。
這里我們還需要使用一個方法來把秒數(shù)變成當前的時間戳。
這時我們就要用到另外一個方法,localtime方法,該方法的參數(shù)為我們剛剛所說的1970年到目前為止的秒數(shù),返回值為一個叫struct_time結(jié)構(gòu)體,如果不懂什么叫結(jié)構(gòu)體,沒關(guān)系,也可以理解為localtime方法返回一個struct_time對象。
time.localtime(time.time())
可以看到localtime方法的返回結(jié)果,從單詞的字面上我們也能大概了解到:
前綴tm為time,year為年份,mon為月份,mday為日,hour為時,min為分,sec為秒等等
但是我們想要的并不是這種結(jié)果,我們想要獲得一個易于理解的數(shù)據(jù)。
常見的asctime類型,例如顯示結(jié)果如Wed Feb 13 15:46:11 2018
如果小伙伴常用 Linux對這種類型顯然不會陌生,在linux上,我們使用date 命令,不進行時間格式化的話,就會輸出這種形式的時間。
例如小編這里虛擬機內(nèi)的linux,運行date的輸出結(jié)果如圖。
格式為:星期幾 月份 日數(shù) 時:分:秒 年份
注意的是,在linux上的date默認會輸出時間區(qū)域,例如默認的美國時間EDT,或者修改為我們大陸的北京時間CTS。
這里提供兩種方法進行struct_time數(shù)據(jù)格式化。
第一種就是第4步講述的asctime格式,我們調(diào)用time模塊內(nèi)的asctime方法即可,參數(shù)為struct_time對象數(shù)據(jù),返回字符串,即asctime格式當前日期時間。
time.asctime(time.localtime(time.time())) 'Wed Apr 4 20:27:15 2018' 翻譯成中文是: 星期三 四月 4 20:27:15 2018
還有一個數(shù)據(jù)格式化的方法是time模塊內(nèi)提供的strftime方法。
str time.strftime(格式轉(zhuǎn)化字符,時間戳)
格式轉(zhuǎn)化字符如下:
%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 當前時區(qū)的名稱 %% %號本身 這里常用的小編就進行了加粗,其實常用的就是這幾個。一定要記住的是: %Y = 年,%m = 月,%d = 日,%H = 24制時,%M = 分,%S = 秒。
那么知道轉(zhuǎn)化符的意義之后,我們做起來就很簡單了。
例如我們可以獲得當前時間和日期,然后獲得當前是一年中的第幾天,然后獲得當前的時區(qū)
time.strftime("當前日期:%Y年%m月%d日",time.localtime(time.time()))
#獲得當前日期
time.strftime("當前時間:%H時%M分%S秒",time.localtime(time.time()))
#獲得當前時間
time.strftime("今天是%Y年的第%j天,時區(qū)為%Z",time.localtime(time.time()))
代碼只能在python3中有效運行,python2需要使用print輸出(否則中文會變成16進制字符)。
python2運行如下,加上print即可:
print(time.strftime("當前日期:%Y年%m月%d日",time.localtime(time.time())))
#獲得當前日期
print(time.strftime("當前時間:%H時%M分%S秒",time.localtime(time.time())))
#獲得當前時間
print(time.strftime("今天是%Y年的第%j天,時區(qū)為%Z",time.localtime(time.time())))
本文原創(chuàng)地址: https://www.linuxprobe.com/date-and-time.html
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。