1. 程式人生 > 程式設計 >python time()的例項用法

python time()的例項用法

顧名思義,本期內容肯定是涉及程式設計時間,那在操作python要怎麼用time這個方法呢?一起來看下吧~

時間模組的定義與使用:

時間模組time是python自帶的模組,它內部封裝了一些獲取時間戳和字串形式時間的函式。

匯入方法如下:

importtime

獲取時間戳:

tiem.time():獲取當前時間戳。

時間戳是指從計算機元年到現在經過的秒數。

計算機元年是指1970年1月1日0時0分0秒。

另外在python中時間戳表示為秒數,在java中表示為毫秒數。

返回值:

浮點數,內容是計算機元年至今的秒數。

案例:

print(time.time())#獲取當前時間戳

out:

1602407766.3462217
1234

格式化時間物件

time.gmtime():獲取格式化時間物件,返回值是當前格林尼治時間。

time.localtime():獲取格式化時間物件,返回值是當地時間(也就是北京時間,比格林尼治時間+8小時)。

引數:

引數只有一個,型別是浮點數,返回的是計算機時間元年過去多少秒以後的時間;預設值是當前時間。

返回值:

這兩個函式的返回值除了相差8小時外都一樣,返回值是格式化時間物件。

格式化時間物件有9個屬性,均為int型:

tm_year=2020,表示當前是2020年
tm_mon=10,表示當前是10月
tm_mday=10,表示當前是10日
tm_hour=13,表示當前是13時(注意是格林尼治時間,加8小時才是北京時間)
tm_min=50,表示當前是50分
tm_sec=24,表示當前是24秒
tm_wday=5,表示當前是一週的第6天(週日是0,週一是1,週六是6)
tm_yday=284,表示當前是一年的第284天
tm_isdst=0,表示不是夏令時(=1表示是夏令時)

案例:

print(time.gmtime())#獲取當前GMT:格林尼治時間
print(time.localtime())#獲取當地時間

out:

time.struct_time(tm_year=2020,tm_mon=10,tm_mday=11,tm_hour=9,tm_min=19,tm_sec=8,tm_wday=6,tm_yday=285,tm_isdst=0)
time.struct_time(tm_year=2020,tm_hour=17,tm_isdst=0)

格式化時間物件轉換為字串

time.strftime():格式化時間物件轉換成字串。

返回值:

返回值是根據字串模板生成的字串。

案例:

#把時間物件轉換成字串
time_str=time.strftime('%Y年%m月%d日%H時%M分%S秒')
print(time_str)
print(time.strftime('%Y年%m月%d日%H時%M分%S秒',time.gmtime(0)))

out:

2020年10月11日17時30分24秒
1970年01月01日00時00分00秒

字串轉換為格式化時間物件

time.strptime():字串轉換為格式化時間物件。注意strptime和strftime是互逆操作,要相互轉換必須使用相同的字串模板。

引數:

和strftime的引數一樣也是兩個,但位置相反。

返回值:

返回值是根據字串模板生成的格式化時間物件。

案例:

#把時間字串轉換成時間物件
time_struct=time.strptime(time_str,'%Y年%m月%d日%H時%M分%S秒')
print(time_struct)

out:

time.struct_time(tm_year=2020,tm_min=35,tm_sec=52,tm_isdst=-1)

時間物件轉換成時間戳

time.mktime():獲取格式化時間物件對應的時間戳。注意mktime和gmtime、localtime是互逆操作。

引數:

引數只有一個,是格式化時間物件。

返回值:

返回值是時間戳。

案例:

#時間物件轉換為時間戳
time_num=time.mktime(time_struct)
print(time_num)

#時間戳轉換為時間物件
time_struct2=time.gmtime(time_num)
time_struct3=time.localtime(time_num)
print(time_struct2)
print(time_struct3)

out:

1602409740.0
time.struct_time(tm_year=2020,tm_min=49,tm_sec=0,tm_isdst=0)

常用案例:

1、一行程式碼對日期排序:

date_list=['2020-9-10','2020-9-20','2020-9-15']
date_list2=sorted(date_list,key=lambdax:time.strptime(x,'%Y-%m-%d'))
print(date_list2)

out:

['2020-9-10','2020-9-15','2020-9-20']

2、一行程式碼計算2個日期相差天數

date1='2020-9-10'
date2='1999-9-9'

print((time.mktime(time.strptime(date1,'%Y-%m-%d'))-time.mktime(time.strptime(date2,'%Y-%m-%d')))/86400)

out:

7672.0

到此這篇關於python time()的例項用法的文章就介紹到這了,更多相關如何使用python time()方法內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!