time模塊

0.1 time模塊

import time

0.1.1 時間戳

  時間戳(timestamp):時間戳表示的是從1970年1月1日00:00:00開始按秒計算的偏移量。3d

time_stamp = time.time()
print(time_stamp, type(time_stamp))
1552551519.291029 <class 'float'>

0.1.2 格式化時間

  格式化的時間字符串(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'>

0.1.3 結構化時間

  結構化的時間(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)

0.1.4 不一樣格式時間的轉換

結構化時間-格式化時間-時間戳

  如上圖所示,咱們總能經過某些方法在結構化時間-格式化時間-時間戳三者之間進行轉換,下面咱們將用代碼展現如何經過這些方法轉換時間格式。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

0.1.5 其餘用法

# 推遲指定的時間運行,單位爲秒
start = time.time()
time.sleep(3)
end = time.time()

print(end-start)
3.0005428791046143
相關文章
相關標籤/搜索