1. 程式人生 > >python3.5入門筆記(12) 日期和時間

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()

將時間戳轉化為0時區時間

#-*-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,

tm_hour=6, tm_min=56, tm_sec=20, tm_wday=4, tm_yday=313, tm_isdst=0)

(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、日曆模組