目錄
1、time.gmtime([secs])可以將timestamp時間戳轉化為時間元組
2、time.localtime([secs])可以將timestamp時間戳轉為時間元組
3、time.mktime(t):將一個struct_time轉化為時間戳?
4、通過函數將struct_time轉成格式字符串
5、將格式字符串轉化成struct_time
6、datetime、timestamp、字符串str互轉
6.1 將datetime類型轉成str類型
6.2 str->dateTime 字符串轉成日期datetime
6.3?字符串轉成時間戳 ?str->timestamp
6.4?時間戳轉成日期 timestamp->datetime
?
time模塊所包含的函數能夠實現以下功能:獲取當前的時間、操作時間和日期、從字符串讀取時間及格式化時間為字符串。
- timestamp時間戳,時間戳表示的是從1970年1月1日00:00:00開始按秒計算的偏移量;返回時間戳的函數主要有time()、clock()等
- struct_time時間元組,共有九個元素組。gmtime(),localtime(),strptime()
- format time 格式化時間,已格式化的結構使時間更具可讀性。包括自定義格式和固定格式。
?
不同格式之間的轉換如圖: ?
其中format_string 類型的時間和struct_time之間可以轉換,timestamp時間戳可以和struct_time之間進行轉化,但是時間戳和格式化時間是不能直接轉換的。
struct_time元組結構: ?
import time
t = time.time()
t = time.localtime()
time.struct_time(tm_year=2019, tm_mon=5, tm_mday=21, tm_hour=9, tm_min=49, tm_sec=45, tm_wday=1, tm_yday=141, tm_isdst=0)
?
format time結構化表示: ?
1、 time.gmtime([secs])可以將timestamp時間戳轉化為時間元組
a = time.time()
b=time.gmtime()
c=time.gmtime(a)
a,b,c
(1558407279.011641, ?time.struct_time(tm_year=2019, tm_mon=5, tm_mday=21, tm_hour=2, tm_min=54, tm_sec=39, tm_wday=1, tm_yday=141, tm_isdst=0), ?time.struct_time(tm_year=2019, tm_mon=5, tm_mday=21, tm_hour=2, tm_min=54, tm_sec=39, tm_wday=1, tm_yday=141, tm_isdst=0))
2、 time.localtime([secs])可以將timestamp時間戳轉為時間元組
a = time.localtime()
b = time.time()
c = time.localtime(b)
a,b,c
(time.struct_time(tm_year=2019, tm_mon=5, tm_mday=21, tm_hour=10, tm_min=58, tm_sec=45, tm_wday=1, tm_yday=141, tm_isdst=0), ?1558407525.590347, ?time.struct_time(tm_year=2019, tm_mon=5, tm_mday=21, tm_hour=10, tm_min=58, tm_sec=45, tm_wday=1, tm_yday=141, tm_isdst=0))
3、 time.mktime(t):將一個struct_time轉化為時間戳 ?
time.mktime() 函數執行與gmtime(), localtime()相反的操作,它接收struct_time對象作為參數,返回用秒數表示時間的浮點數。如果輸入的值不是一個合法的時間,將觸發 OverflowError 或 ValueError。
a = time.localtime()
b = time.mktime(a)
a,b (time.struct_time(tm_year=2019, tm_mon=5, tm_mday=21, tm_hour=11, tm_min=3, tm_sec=35, tm_wday=1, tm_yday=141, tm_isdst=0), ?1558407815.0)
4、通過函數將struct_time轉成格式字符串
ime.strftime( format [, t] ) 通過函數將struct_time轉成格式字符串,把一個代表時間的元組或者struct_time(如由time.localtime()和time.gmtime()返回)轉化為格式化的時間字符串,格式由參數format決定。如果未指定,將傳入time.localtime()。如果元組中任何一個元素越界,就會拋出ValueError的異常。函數返回的是一個可讀表示的本地時間的字符串。?
參數:
format:格式化字符串
t :可選的參數是一個struct_time對象
?
a = time.gmtime()
b = time.strftime("%Y-%m-%d",a)
a,b
(time.struct_time(tm_year=2019, tm_mon=5, tm_mday=21, tm_hour=3, tm_min=40, tm_sec=34, tm_wday=1, tm_yday=141, tm_isdst=0), ?'2019-05-21')
?
5、將格式字符串轉化成struct_time
time.strptime(string,format) 將格式字符串轉化成struct_time。該函數是time.strftime()函數的逆操作。time.strptime() 函數根據指定的格式把一個時間字符串解析為時間元組。所以函數返回的是struct_time對象。
參數:string :時間字符串;format:格式化字符串;
?
a = time.gmtime()
b = time.strftime("%Y-%m-%d %X",a)
c=time.strptime(b,"%Y-%m-%d %H:%M:%S")
a,b,c
(time.struct_time(tm_year=2019, tm_mon=5, tm_mday=21, tm_hour=3, tm_min=47, tm_sec=1, tm_wday=1, tm_yday=141, tm_isdst=0), ?'2019-05-21 03:47:01', ?time.struct_time(tm_year=2019, tm_mon=5, tm_mday=21, tm_hour=3, tm_min=47, tm_sec=1, tm_wday=1, tm_yday=141, tm_isdst=-1))
?
6、datetime、timestamp、字符串str互轉
import time
import datetime
a=datetime.datetime.now()
a
datetime.datetime(2019, 5, 21, 13, 39, 46, 946329)
6.1 將datetime類型轉成str類型
strftime("%Y-%m-%d %H:%M:%S") datetime->str
b=a.strftime("%Y-%m-%d %H:%M:%S")
b
'2019-05-21 13:39:46'
?
6.2 str->dateTime 字符串轉成日期datetime
strptime(str,format)
c=datetime.datetime.strptime(b,"%Y-%m-%d %H:%M:%S")
c
datetime.datetime(2019, 5, 21, 13, 39, 46)
6.3?字符串轉成時間戳 ?str->timestamp
d=time.mktime(time.strptime(b,"%Y-%m-%d %H:%M:%S"))
d
1558417186.0
6.4?時間戳轉成日期 timestamp->datetime
e=datetime.datetime.fromtimestamp(d)
e
datetime.datetime(2019, 5, 21, 13, 39, 46)
?
?
?
?
?
?
?
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
