python3.5入門筆記(12) 日期和時間
1、時間戳
時間戳表示從1970年1月1日0時0分到現在經過了多少秒.
2、時間格式化符號
%y兩位數的年份表示(00-99)
%Y 四位數的年份表示(000-9999)
%m月份(01-12)
%d月內中的一天(0-31)
%H24小時制小時數(0-23)
%I12小時制小時數(01-12)
%M分鐘數(00-59)
%S秒(00-59)
%f毫秒(000000-999999
%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 當前時區的名稱
3、函式
time模組
(1)time() 返回時間戳
#-*-coding:utf-8-*-
import time
print('當前時間戳',time.time())
>>>當前時間戳 1541743619.1215513
(2)localtime() 格式化時間戳,如未新增任何時間,顯示當前時間
gmtime()
#-*-coding:utf-8-*-
import time
print('當前時間',time.localtime())
print('當前時間',time.gmtime())
>>>當前時間 time.struct_time(tm_year=2018, tm_mon=11, tm_mday=9, tm_hour=14, tm_min=56, tm_sec=20, tm_wday=4, tm_yday=313, tm_isdst=0)
>>>當前時間 time.struct_time(tm_year=2018, tm_mon=11, tm_mday=9,
(3)time.mktime(t) 將時間轉化成時間戳
#-*-coding:utf-8-*-
import time
t=(2018,11,9,15,12,2,5,49,52)
print('當前時間',time.mktime(t))
>>>當前時間 1541747522.0
(4)asctime() 返回固定格式日期,例: Fri Nov 9 15:17:10 2018 星期 月 日 時 分 秒 年 ctime() 把時間搓轉化為asctime()格式
#-*-coding:utf-8-*-
import time
print('當前時間',time.asctime())
print(time.ctime(1541745619.1215513))
>>>當前時間 Fri Nov 9 15:34:12 2018
>>>Fri Nov 9 14:40:19 2018
(5)time.sleep(secs) 程式停止執行(秒)
time.clock() 統計cpu時間間隔,比time.time()更精準
#-*-coding:utf-8-*-
import time
t1 = time.clock()
time.sleep(1)
print('process time A:',time.clock()-t1)
t2=time.time()
time.sleep(1)
print('process time B:',time.time()-t2)
>>>ess time A: 0.9992612842348039
>>>cess time B: 1.0000190734863281
(6)strftime(想轉化成的字串格式,時間) 自定義格式化時間
#-*-coding:utf-8-*-
import time
print(time.strftime('%Y.%m.%d %H:%M:%S',time.localtime()))
>>> 2018.11.09 16:08:57
(7)strptime(時間字串,字串格式) 將指定格式日期轉化為元組(localtime時的日期格式)
#-*-coding:utf-8-*-
import time
print(time.strptime('9 Nov 18 17:50:30','%d %b %y %H:%M:%S'))
>>>time.struct_time(tm_year=2018, tm_mon=11, tm_mday=9, tm_hour=17, tm_min=50, tm_sec=30, tm_wday=4, tm_yday=313, tm_isdst=-1)
datetime模組
datetime.date 表示日期的類
datetime.time 表示時間的類
datetime.timedelta 表示時間間隔的類
datetime.tzinfo 與時區有關的類
datetime.datetime 表示日期時間的類
(1)today() 返回當前本地時間
#-*-coding:utf-8-*-
import datetime
print(datetime.datetime.today())
>>>2018-11-09 16:22:22.473914
(2)now([tz]) 返回當前本地時間, 如果提供了引數 tz,則獲取 tz 引數所指時區的本地時間
utcnow()返回0時區時間
例如:datetime.datetime.now(pytz.timezone('Asia/Shanghai'))
#-*-coding:utf-8-*-
import datetime
print(datetime.datetime.now())
print(datetime.datetime.utcnow())
>>>2018-11-09 17:01:37.994716
>>>2018-11-09 09:01:37.999716
(3)fromtimestamp(時間戳) 時間戳格式化為本地時間
utcfromtimestamp(時間戳) 時間戳格式化為0時區時間
#-*-coding:utf-8-*-
import datetime
print(datetime.datetime.fromtimestamp(1541743619.1215513))
print(datetime.datetime.utcfromtimestamp(1541743619.1215513))
>>>2018-11-09 14:06:59.121551
>>>2018-11-09 06:06:59.121551
(4)strptime() 將格式字串轉化為自定義格式
Strftime() 將格式字串轉化為自定義格式
#-*-coding:utf-8-*-
import datetime
dt=datetime.datetime.today()
print(dt.strptime(str(dt),'%Y-%m-%d %H:%M:%S.%f'))
print(dt.strftime('%Y-%m-%d %H:%M:%S.%f'))
>>>>2018-11-09 17:32:33.661304
>>>2018-11-09 17:32:33.661304
4、日曆模組