- Python提供了一個(gè)
time和calendar模塊用于格式化日期和時(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年 - 利用
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
-
Python函數(shù)用一個(gè)元組裝起來(lái)的9組數(shù)字處理時(shí)間:
time - 獲取當(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)
- 獲取格式化的時(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
- 格式化日期
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
- 獲取某月日歷
# -*- 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
