標準庫time datetime的使用

2021-09-17 05:11:09 字數 3422 閱讀 4582

import time

time.()

>>>time.time() 

1516939876.6022282

>>>time.ctime() 

'fri jan 26 12:11:16 2018'

>>>time.gmtime()

time.struct_time(tm_year=2018, tm_mon=1,

tm_mday=26, tm_hour=4, tm_min=11, tm_sec=16,

tm_wday=4, tm_yday=26, tm_isdst=0)

將時間以合理的方式展示出來

格式化:類似字串格式化,需要有展示模板

展示模板由特定的格式化控制符組成

strftime()方法

strftime(tpl, ts)

tpl是格式化模板字串,用來定義輸出效果

ts是計算機內部時間型別變數

>>>t = time.gmtime() 

>>>>time.strftime("%y-%m-%d %h:%m:%s",t)z,

'2018-01-26 12:55:20'

%y年份0000~9999,例如:1900

%m月份01~12,例如:10

%b月份名稱january~december,例如:april

%b月份名稱縮寫jan~dec,例如:apr

%d日期01~31,例如:25

%a星期monday~sunday,例如:wednesday

%a 星期縮寫mon~sun,例如:wed

%h 小時(24h制)00~23,例如:12

%h小時(12h制) 01~12,例如:7

%p上/下午am, pm,例如:pm

%m 分鐘00~59,例如:26

%s秒00~59,例如:26

perf_counter()

返回乙個cpu級別的精確時間計數值,單位為秒 由於這個計數值起點不確定,連續呼叫差值才有意義

>>>start = time.perf_counter() 318.66599499718114 

>>>>end = time.perf_counter() 341.3905185375658

>>>>end - start 22.724523540384666

>>>def wait(): time.sleep(3.3)

>>>wait() #程式將等待3.3秒後再退出

datetime模組用於是date和time模組的合集,datetime有兩個常量,maxyear和minyear,分別是9999和1.

datetime模組定義了5個類,分別是

date類有三個引數,datetime.date(year,month,day),返回year-month-day

方法:datetime類有很多引數,datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]]),返回年月日,時分秒

datetime.datetime.now().strftime('%b-%d-%y %h:%m:%s')

'apr-16-2017 21:01:35'

datetime.datetime.strptime('apr-16-2017 21:01:35', '%b-%d-%y %h:%m:%s')

2017-04-16 21:01:35

time類有5個引數,datetime.time(hour,minute,second,microsecond,tzoninfo),返回08:29:30

1.datetime.time.replace()

2.datetime.time.strftime(format):按照format格式返回時間

3.datetime.time.tzname():返回時區名字

4.datetime.time.utcoffset():返回時區的時間偏移量

datetime.datetime.timedelta用於計算兩個日期之間的差值,例如:

>>> a=datetime.datetime.now()

>>> b=datetime.datetime.now()

>>> a

datetime.datetime(2017, 4, 16, 21, 21, 20, 871000)

>>> b

datetime.datetime(2017, 4, 16, 21, 21, 29, 603000)

>>> b-a

datetime.timedelta(0, 8, 732000)

>>> (b-a).seconds

8# 或者

time1 = datetime.datetime(2016, 10, 20)

time2 = datetime.datetime(2015, 11, 2)

"""計算天數差值"""

print(time1-time2).days

"""計算兩個日期之間相隔的秒數"""

print (time1-time2).total_seconds()

from datetime import datetime, tzinfo,timedelta

"""tzinfo是關於時區資訊的類

tzinfo是乙個抽象類,所以不能直接被例項化

"""class utc(tzinfo):

"""utc"""

def __init__(self,offset = 0):

self._offset = offset

def utcoffset(self, dt):

return timedelta(hours=self._offset)

def tzname(self, dt):

return "utc +%s" % self._offset

def dst(self, dt):

return timedelta(hours=self._offset)

#北京時間

beijing = datetime(2011,11,11,0,0,0,tzinfo = utc(8))

#曼谷時間

bangkok = datetime(2011,11,11,0,0,0,tzinfo = utc(7))

#北京時間轉成曼谷時間

beijing.astimezone(utc(7))

#計算時間差時也會考慮時區的問題

timespan = beijing - bangkok

時間模組 time datetime

時間戳 當前時間距離1970.1.1凌晨共多少秒 元組 year month dayhours minuts senconds weekday julia day 儒略日天文學家在使用 時間格式化 y 四位數年份表示 m 月份 d 天 h 24小時制 i 12小時制 m 分鐘數 s 秒數 f 毫秒 ...

python中的time datetime模組

使用time模組中的time 函式可以獲取當前時間的時間戳。當前的時間戳應為1970年1月1日到函式執行時的秒數值。例如,import time 匯入time模組 t1 time.time print t1 執行結果如下,1582457981.234377記得要匯入time模組。1.2.1.時間戳轉...

python中time datetime模組的使用

如果您從事過python web的開發,那一定有過這樣的經歷,對於各種複雜繁瑣的業務邏輯,摻雜著各種各樣的時間約束,讓人很容易搞的頭暈眼花,比如展示出一天內使用者進行過的所有操作記錄,再比如進行驗證碼驗證時獲取當前時間與驗證碼生成時間進行比較,檢查是否超過10分鐘過期時間之類。這些關於時間的業務邏輯...