python只獲取日期,要用到的是python的內置模塊,time模塊。
顧名思義,這是一個和時間有關的模塊。html |
首先導入time模塊。python
import time
第一步要作的就是從1970紀元後到目前爲止度過的秒數(浮點類型)。linux
其實想要得到這個秒數,只有一個方法,就是經過time模塊內的time方法來得到。翻譯
即time.time()3d
可是,time.time返回的這個高精度浮點數咱們並不能準確的獲得咱們想要的當前時間。咱們只知道這是從1970到目前爲止已通過了多少秒。htm
這裏咱們還須要使用一個方法來把秒數變成當前的時間戳。對象
這時咱們就要用到另一個方法,localtime方法,該方法的參數爲咱們剛剛所說的1970年到目前爲止的秒數,返回值爲一個叫struct_time結構體,若是不懂什麼叫結構體,不要緊,也能夠理解爲localtime方法返回一個struct_time對象。blog
time.localtime(time.time())
能夠看到localtime方法的返回結果,從單詞的字面上咱們也能大概瞭解到:字符串
前綴tm爲time,year爲年份,mon爲月份,mday爲日,hour爲時,min爲分,sec爲秒等等
可是咱們想要的並非這種結果,咱們想要得到一個易於理解的數據。get
常見的asctime類型,例如顯示結果如Wed Feb 13 15:46:11 2018
若是小夥伴經常使用Linux對這種類型顯然不會陌生,在linux上,咱們使用date命令,不進行時間格式化的話,就會輸出這種形式的時間。
例如小編這裏虛擬機內的linux,運行date的輸出結果如圖。
格式爲:星期幾 月份 日數 時:分:秒 年份
注意的是,在linux上的date默認會輸出時間區域,例如默認的美國時間EDT,或者修改成咱們大陸的北京時間CTS。
這裏提供兩種方法進行struct_time數據格式化。
第一種就是第4步講述的asctime格式,咱們調用time模塊內的asctime方法便可,參數爲struct_time對象數據,返回字符串,即asctime格式當前日期時間。
time.asctime(time.localtime(time.time())) 'Wed Apr 4 20:27:15 2018' 翻譯成中文是: 星期三 四月 4 20:27:15 2018
還有一個數據格式化的方法是time模塊內提供的strftime方法。
str time.strftime(格式轉化字符,時間戳)
格式轉化字符以下:
%y 兩位數的年份表示(00-99) %Y 四位數的年份表示(000-9999) %m 月份(01-12) %d 月內中的一天(0-31) %H 24小時制小時數(0-23) %I 12小時制小時數(01-12) %M 分鐘數(00=59) %S 秒(00-59) %a 本地簡化星期名稱 %A 本地完整星期名稱 %b 本地簡化的月份名稱 %B 本地完整的月份名稱 %c 本地相應的日期表示和時間表示 %j 年內的一天(001-366) %p 本地A.M.或P.M.的等價符 %U 一年中的星期數(00-53)星期天爲星期的開始 %w 星期(0-6),星期天爲星期的開始 %W 一年中的星期數(00-53)星期一爲星期的開始 %x 本地相應的日期表示 %X 本地相應的時間表示 %Z 當前時區的名稱 %% %號自己 這裏經常使用的小編就進行了加粗,其實經常使用的就是這幾個。必定要記住的是: %Y = 年,%m = 月,%d = 日,%H = 24制時,%M = 分,%S = 秒。
那麼知道轉化符的意義以後,咱們作起來就很簡單了。
例如咱們能夠得到當前時間和日期,而後得到當前是一年中的第幾天,而後得到當前的時區
time.strftime("當前日期:%Y年%m月%d日",time.localtime(time.time()))
#得到當前日期
time.strftime("當前時間:%H時%M分%S秒",time.localtime(time.time()))
#得到當前時間
time.strftime("今天是%Y年的第%j天,時區爲%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天,時區爲%Z",time.localtime(time.time())))