import time
時間戳(timestamp):時間戳表示的是從1970年1月1日00:00:00開始按秒計算的偏移量。3d
time_stamp = time.time() print(time_stamp, type(time_stamp))
1552551519.291029 <class 'float'>
格式化的時間字符串(format string):格式化時間表示的是普通的字符串格式的時間。code
format_time = time.strftime("%Y-%m-%d %X") print(format_time, type(format_time))
2019-03-07 16:22:11 <class 'str'>
結構化的時間(struct time):struct_time元組共有9個元素共九個元素,分別爲(年,月,日,時,分,秒,一年中第幾周,一年中第幾天,夏令時)orm
print('本地時區的struct_time:\n{}'.format(time.localtime())) print('UTC時區的struct_time:\n{}'.format(time.gmtime()))
本地時區的struct_time: time.struct_time(tm_year=2019, tm_mon=3, tm_mday=7, tm_hour=16, tm_min=22, tm_sec=11, tm_wday=3, tm_yday=66, tm_isdst=0) UTC時區的struct_time: time.struct_time(tm_year=2019, tm_mon=3, tm_mday=7, tm_hour=8, tm_min=22, tm_sec=11, tm_wday=3, tm_yday=66, tm_isdst=0)
# 結構化時間的基準時間 print(time.localtime(0))
time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=8, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0)
# 結構化時間的基準時間上增長一年時間 print(time.localtime(3600*24*365))
time.struct_time(tm_year=1971, tm_mon=1, tm_mday=1, tm_hour=8, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=1, tm_isdst=0)
如上圖所示,咱們總能經過某些方法在結構化時間-格式化時間-時間戳三者之間進行轉換,下面咱們將用代碼展現如何經過這些方法轉換時間格式。blog
# 結構化時間 now_time = time.localtime() print(now_time)
time.struct_time(tm_year=2019, tm_mon=3, tm_mday=7, tm_hour=16, tm_min=22, tm_sec=11, tm_wday=3, tm_yday=66, tm_isdst=0)
# 把結構化時間轉換爲時間戳格式 print(time.mktime(now_time))
1551946931.0
# 把結構化時間轉換爲格式化時間 # %Y年-%m月-%d天 %X時分秒=%H時:%M分:%S秒 print(time.strftime("%Y-%m-%d %X", now_time))
2019-03-07 16:22:11
# 把格式化時間化爲結構化時間,它和strftime()是逆操做 print(time.strptime('2013-05-20 13:14:52', '%Y-%m-%d %X'))
time.struct_time(tm_year=2013, tm_mon=5, tm_mday=20, tm_hour=13, tm_min=14, tm_sec=52, tm_wday=0, tm_yday=140, tm_isdst=-1)
# 把結構化時間表示爲這種形式:'Sun Jun 20 23:21:05 1993'。 print(time.asctime())
Thu Mar 7 16:22:11 2019
# 若是沒有參數,將會將time.localtime()做爲參數傳入。 print(time.asctime(time.localtime()))
Thu Mar 7 16:22:11 2019
# 把一個時間戳轉化爲time.asctime()的形式。 print(time.ctime())
Thu Mar 7 16:22:11 2019
# 若是參數未給或者爲None的時候,將會默認time.time()爲參數。它的做用至關於time.asctime(time.localtime(secs))。 print(time.ctime(time.time()))
Thu Mar 7 16:22:11 2019
# 推遲指定的時間運行,單位爲秒 start = time.time() time.sleep(3) end = time.time() print(end-start)
3.0005428791046143