48.time模块

一. time模块

import time

1.1 时间戳

时间戳(timestamp):时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。

作用:用于时间间隔的计算

print(time.time())
# 1585531096.9016852

1.2 格式化时间

格式化的时间字符串(format string):格式化时间表示的是普通的字符串格式的时间。

作用:用于各种格式的时间展示

print(time.strftime('%Y-%M-%D-%X'))
# 2020-18-03/30/20-09:18:16

1.3 结构化时间

结构化的时间(struct time):struct_time元组共有9个元素共九个元素,分别为(年,月,日,时,分,秒,一年中第几周,一年中第几天,夏令时)

作用:用于获取当前时间的某一部分

print(time.localtime())
# time.struct_time(tm_year=2020, tm_mon=3, tm_mday=30, tm_hour=9, tm_min=19, tm_sec=48, tm_wday=0, tm_yday=90, 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)

1.4 不同格式时间的转换

如上图所示,我们总能通过某些方法在结构化时间-格式化时间-时间戳三者之间进行转换,下面我们将用代码展示如何通过这些方法转换时间格式。

# 结构化时间
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'))
ime.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

1.5 其他用法

# 推迟指定的时间运行,单位为秒
start = time.time()
time.sleep(3)
end = time.time()

print(end-start)
3.0005428791046143
posted @ 2020-03-30 20:42  祥SHAO  阅读(131)  评论(0编辑  收藏  举报