Python日期和時(shí)間 2018-07-30

  1. Python提供了一個(gè)timecalendar模塊用于格式化日期和時(shí)間,時(shí)間間隔是以秒為單位的浮點(diǎn)小數(shù),每個(gè)時(shí)間戳都以自從1970年午夜(歷元)經(jīng)過(guò)了多長(zhǎng)時(shí)間來(lái)表示,時(shí)間戳單位最適于做日期運(yùn)算。但是1970年之前的日期就無(wú)法以此表示了。太遙遠(yuǎn)的日期也不行,UNIX和Windows只支持到2038年,因?yàn)?2位系統(tǒng)表示的最大正數(shù)為2147483647,一年365天的總秒數(shù)是31536000,2147483647/31536000=68.1,也就是說(shuō)32為能表示的最長(zhǎng)時(shí)間是68.1年,所以從1970-2038年
  2. 利用time.time()來(lái)獲得當(dāng)前時(shí)間戳
# -*- coding: UTF-8 -*-                                          
import time;
ticks = time.time()
print "當(dāng)前時(shí)間戳:",ticks

輸出:

helloworld@LG-virtual-machine:~/code$ python test.py 
當(dāng)前時(shí)間戳: 1532949645.19
  1. Python函數(shù)用一個(gè)元組裝起來(lái)的9組數(shù)字處理時(shí)間:


    time
  2. 獲取當(dāng)前時(shí)間:從返回浮點(diǎn)數(shù)的時(shí)間戳方式向時(shí)間元組轉(zhuǎn)換,只要將浮點(diǎn)數(shù)傳遞給如localtime之類的函數(shù)
# -*- coding: UTF-8 -*-                                          
import time
localtime = time.localtime(time.time())
print "本地時(shí)間:",localtime

輸出:

helloworld@LG-virtual-machine:~/code$ python test.py 
本地時(shí)間: time.struct_time(tm_year=2018, tm_mon=7, tm_mday=30, tm_hour=19, tm_min=37, tm_sec=19, tm_wday=0, tm_yday=211, tm_isdst=0)
  1. 獲取格式化的時(shí)間:以根據(jù)需求選取各種格式,但是最簡(jiǎn)單的獲取可讀的時(shí)間模式的函數(shù)是asctime():
# -*- coding: UTF-8 -*-
import time
localtime = time.asctime(time.localtime(time.time()))
print "本地時(shí)間:",localtime  

輸出:

helloworld@LG-virtual-machine:~/code$ python test.py 
本地時(shí)間: Mon Jul 30 19:41:03 2018
  1. 格式化日期
    python中時(shí)間日期格式化符號(hào):

%y 兩位數(shù)的年份表示(00-99)
%Y 四位數(shù)的年份表示(000-9999)
%m 月份(01-12)
%d 月內(nèi)中的一天(0-31)
%H 24小時(shí)制小時(shí)數(shù)(0-23)
%I 12小時(shí)制小時(shí)數(shù)(01-12)
%M 分鐘數(shù)(00=59)
%S 秒(00-59)
%a 本地簡(jiǎn)化星期名稱
%A 本地完整星期名稱
%b 本地簡(jiǎn)化的月份名稱
%B 本地完整的月份名稱
%c 本地相應(yīng)的日期表示和時(shí)間表示
%j 年內(nèi)的一天(001-366)
%p 本地A.M.或P.M.的等價(jià)符
%U 一年中的星期數(shù)(00-53)星期天為星期的開始
%w 星期(0-6),星期天為星期的開始
%W 一年中的星期數(shù)(00-53)星期一為星期的開始
%x 本地相應(yīng)的日期表示
%X 本地相應(yīng)的時(shí)間表示
%Z 當(dāng)前時(shí)區(qū)的名稱
%% %號(hào)本身

# -*- coding: UTF-8 -*-                                          
import time

print time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())

print time.strftime("%a %d %m %H:%M:%S %Y",time.localtime())

# 將格式字符串轉(zhuǎn)換為時(shí)間戳
a = "Mon July 30 19:50:23 2018"
print time.mktime(time.strptime(a,"%a %B %d %H:%M:%S %Y"))

輸出:

helloworld@LG-virtual-machine:~/code$ python test.py 
2018-07-30 19:57:59
Mon 30 07 19:57:59 2018
1532951423.0
  1. 獲取某月日歷
# -*- coding: UTF-8 -*-
import calendar

cal = calendar.month(2018,7)                                     
print cal

輸出:

helloworld@LG-virtual-machine:~/code$ python test.py 
     July 2018
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 31
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容