time模块的定义
time是python自带的模块,用于处理时间,提供了一系列与时间操作有关的函数。
time模块提供了三种表示时间的格式,分别如下。
时间戳
时间戳是float类型的数字,表示是从1970年1月1号 00:00:00开始到现在按秒计算的偏移量。可以用time.time()调用。
>>> time.time()
1600880287.5643675
struct_time元组
struct_time是一个9 个元素的元组,用元组的形式表示时间。可以用time.localtime()调用。
>>> time.localtime()
time.struct_time(tm_year=2020, tm_mon=9, tm_mday=24, tm_hour=0, tm_min=58, tm_sec=18, tm_wday=3, tm_yday=268, tm_isdst=0)
时间字符串
时间字符串是使用字符串的形式表示时间,也是我们生活中最常见的时间表示格式。可以用time.strftime(format[, tuple])调用。
>>> time.strftime('%Y-%m-%d %H:%M:%S')
'2020-09-24 01:13:23'
time模块的常见方法
方法 | 作用 |
---|---|
sleep(seconds) | 线程推迟指定的时间运行 |
time() | 获取当前时间的时间戳 |
localtime([seconds]) | 将时间戳格式转成struct_time格式的本地时间 |
gmtime([seconds]) | 将时间戳格式转成struct_time格式的标准时间 |
mktime(tuple) | 将struct_time格式转成时间戳格式 |
strftime(format[, tuple]) | 将struct_time格式转成字符串格式 |
asctime([tuple]) | 将struct_time格式转成字符串格式 |
strptime(string, format) | 将字符串格式转成struct_time格式 |
ctime(seconds) | 将时间戳转成字符串格式 |
struct_time格式变量的常见方法
方法 | 作用 |
---|---|
tm_year | 获取年 |
tm_mon | 获取月 |
tm_mday | 获取日 |
tm_hour | 获取小时 |
tm_min | 获取分钟 |
tm_sec | 获取秒 |
tm_wday | 获取周几 |
tm_yday | 获取一年中的第几天 |
time模块实例
- 获取当前时间的时间戳
>>> time.time()
1600883472.119995
- 获取当前struct_time格式的本地时间
>>> time.localtime()
time.struct_time(tm_year=2020, tm_mon=9, tm_mday=24, tm_hour=1, tm_min=53, tm_sec=58, tm_wday=3, tm_yday=268, tm_isdst=0)
- 获取当前struct_time格式的标准时间
>>> time.gmtime()
time.struct_time(tm_year=2020, tm_mon=9, tm_mday=23, tm_hour=17, tm_min=55, tm_sec=5, tm_wday=2, tm_yday=267, tm_isdst=0)
- 将struct_time格式转为时间戳格式
>>> x
time.struct_time(tm_year=2020, tm_mon=9, tm_mday=24, tm_hour=1, tm_min=25, tm_sec=57, tm_wday=3, tm_yday=268, tm_isdst=0)
>>> time.mktime(x)
1600881957.0
- 将struct_time格式转为字符串格式
>>> x
time.struct_time(tm_year=2020, tm_mon=9, tm_mday=24, tm_hour=2, tm_min=6, tm_sec=9, tm_wday=3, tm_yday=268, tm_isdst=0)
>>> time.strftime('%Y-%m-%d %H:%M:%S',x)
'2020-09-24 02:06:09'
- 将struct_time格式转为字符串格式
>>> x
time.struct_time(tm_year=2020, tm_mon=9, tm_mday=24, tm_hour=2, tm_min=6, tm_sec=9, tm_wday=3, tm_yday=268, tm_isdst=0)
>>> time.asctime(x)
'Thu Sep 24 02:06:09 2020'
- 将字符串格式转为struct_time格式
>>> x
'2020-09-24 02:02:50'
>>> time.strptime(x,'%Y-%m-%d %H:%M:%S')
time.struct_time(tm_year=2020, tm_mon=9, tm_mday=24, tm_hour=2, tm_min=2, tm_sec=50, tm_wday=3, tm_yday=268, tm_isdst=-1)
- 将时间戳格式转为字符串格式
>>> x
1600884629.4311702
>>> time.ctime(x)
'Thu Sep 24 02:10:29 2020'