python如何只獲取日期

安全劍客發表於2019-12-29
python只獲取日期,要用到的是python的內建模組,time模組。

顧名思義,這是一個和時間有關的模組。

python如何只獲取日期python如何只獲取日期

首先匯入time模組。

import time
python如何只獲取日期python如何只獲取日期
第一步要做的就是從1970紀元後到目前為止度過的秒數(浮點型別)。

其實想要獲得這個秒數,只有一個方法,就是透過time模組內的time方法來獲得。

即time.time()

python如何只獲取日期python如何只獲取日期
但是,time.time返回的這個高精度浮點數我們並不能準確的得到我們想要的當前時間。我們只知道這是從1970到目前為止已經過了多少秒。

這裡我們還需要使用一個方法來把秒數變成當前的時間戳。

這時我們就要用到另外一個方法,localtime方法,該方法的引數為我們剛剛所說的1970年到目前為止的秒數,返回值為一個叫struct_time結構體,如果不懂什麼叫結構體,沒關係,也可以理解為localtime方法返回一個struct_time物件。

time.localtime(time.time())

可以看到localtime方法的返回結果,從單詞的字面上我們也能大概瞭解到:

字首tm為time,year為年份,mon為月份,mday為日,hour為時,min為分,sec為秒等等
python如何只獲取日期python如何只獲取日期
但是我們想要的並不是這種結果,我們想要獲得一個易於理解的資料。

常見的asctime型別,例如顯示結果如Wed Feb 13 15:46:11 2018

如果小夥伴常用 對這種型別顯然不會陌生,在linux上,我們使用date ,不進行時間格式化的話,就會輸出這種形式的時間。

例如小編這裡虛擬機器內的linux,執行date的輸出結果如圖。

格式為:星期幾 月份 日數 時:分:秒 年份

注意的是,在linux上的date預設會輸出時間區域,例如預設的美國時間EDT,或者修改為我們大陸的北京時間CTS。
python如何只獲取日期python如何只獲取日期
這裡提供兩種方法進行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

python如何只獲取日期python如何只獲取日期
還有一個資料格式化的方法是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進位制字元)。
python如何只獲取日期python如何只獲取日期
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())))

python如何只獲取日期python如何只獲取日期

原文地址:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559985/viewspace-2671143/,如需轉載,請註明出處,否則將追究法律責任。

相關文章