1. 程式人生 > >python基礎:time模組之間的轉換

python基礎:time模組之間的轉換

時間戳、時間元組、格式化字串的表示方法

import time
時間戳
ret=time.time()
print(ret)
# 時間元組
ret=time.localtime()
print(ret)
# 格式化時間字串
ret=time.strftime('%Y-%m-%d  %X')
print(ret)

時間戳,時間元組,格式化字串之間轉化表示方法:

在這裡插入圖片描述

1、 時間戳和時間元組的相互轉換

時間戳轉換為時間元組:
time.gmtime和time.localtime()

返回的是utc時間與北京時間差8小時

time.gtime()

 import time
    ret=time.gmtime()  #將當前的時間戳轉化為時間元組
    print(ret) 

執行結果:

time.struct_time(tm_year=2019, tm_mon=1, tm_mday=9, tm_hour=10, tm_min=55, tm_sec=40, tm_wday=2, tm_yday=9, tm_isdst=0)

time.localtime()

ret=time.localtime()
print(ret)
ret=time.localtime(1500001)  #傳遞時間戳,將指定的時間戳轉換成時間元組
print(ret)  

執行結果:

 #time.struct_time(tm_year=1970, tm_mon=1, tm_mday=18, tm_hour=16, tm_min=40, tm_sec=1, tm_wday=6, tm_yday=18, tm_isdst=0)

時間元組轉化成時間戳
time.mktime()

ret=time.localtime()   #時間元組
ts=time.mktime(ret)    #將時間元組轉換為時間戳
print(ts)              #---->1546997667.0

2、時間元組和格式化字串之間的轉化

(1)、時間元組轉化為字串 time.strftime

ret1=time.localtime(1500000)    #指定時間戳轉換為時間元組
ret=time.strftime('%Y-%m-%d  %X',ret1)   #將時間元組轉換為格式化字串日期
print(ret)     					#1970-01-18  16:40:00

(2)、字串轉化為時間元組
time.strptime()

ret=time.strptime('1970-11-22','%Y-%m-%d')
print(ret)      

執行結果:

#time.struct_time(tm_year=1970, tm_mon=11, tm_mday=22, tm_hour=0, tm_min=0,  

時間元組轉化為格式化字串
time.asctime(時間元組) 如果不傳引數,直接返回當前時間的格式化字串

ret=time.asctime()
print(ret)        #  Wed(星期三) Jan(一月)  9(9號) 09:45:52 2019

時間戳和時間元組轉換為格式化字串:

時間戳轉換為格式化字串的方式:

time.ctime(時間戳)
ret=time.ctime(15000000)
print(ret)  

轉換結果:

Tue Jun 23 22:40:00 1970

時間元組轉換為格式化字串:

time.asctime(時間元組)  如果不傳引數,直接返回當前時間的格式化字串
ret=time.asctime()
print(ret)

執行結果;

Wed(星期三) Jan(一月)  9(9號) 09:45:52 2019

練習題:計算從出生到現在過了多少秒?

解題思路:分別將自己出生日期以及現在的日期字串格式轉換為時間元組,然後轉化為時間戳相減

old_time=time.mktime(time.strptime('1995-06-27','%Y-%m-%d'))
now_time=time.mktime(time.strptime('2019-01-09','%Y-%m-%d'))
ret=now_time-old_time
print(ret)

執行結果;

742780800.0