time模块 --提供各种时间相关功能
一、时间戳
以整型或浮点型表示的是一个以秒为单位的时间间隔。这个时间的基础值是从1970年的1月1号零点开始算起
常用方法
- time() --返回当前时间
>>> import time
>>> time.time()
1590537009.354817
- mktime() --将时间元组转换为时间戳
>>> time.mktime(time.localtime(1590537009.354817))
1590537009.0
>>> time.mktime(time.gmtime(1590537009.354817))
1590508209.0
二、时间元组(结构化的时间)
struct_time元组共有9个元素共九个元素:(年,月,日,时,分,秒,一年中第几周,一年中第几天等)
属性(Attribute) | 值(value) |
---|---|
tm_year(年) | 比如2019 |
tm_mon(月) | 1-12 |
tm_mday(日) | 1-31 |
tm_hour(时) | 0-23 |
tm_min(分) | 0-59 |
tm_sec(秒) | 0-61(注1:60 代表闰秒,61 是基于历史原因保留。) |
tm_wday(weekday) | 0-6(0表示周一) |
tm_yday(一年中的第几天) | 1-366 |
tm_isdst(是否是夏令时) | 1夏令时),0(非夏令时),-1(未知,默认) |
常用方法
- localtime() --返回当地时区下的时间元组(将时间戳转换为时间元组)
>>> import time
>>> time.localtime()
time.struct_time(tm_year=2020, tm_mon=5, tm_mday=28, tm_hour=5, tm_min=42, tm_sec=20, tm_wday=3, tm_yday=149, tm_isdst=0)
>>>
>>> time.localtime(1590537009.354817)
time.struct_time(tm_year=2020, tm_mon=5, tm_mday=27, tm_hour=7, tm_min=50, tm_sec=9, tm_wday=2, tm_yday=148, tm_isdst=0)
- time.gmtime() --返回UTC时区(0时区)下的时间元组(将时间戳转换为时间元组)
>>> import time
>>> time.gmtime()
time.struct_time(tm_year=2020, tm_mon=5, tm_mday=27, tm_hour=21, tm_min=47, tm_sec=39, tm_wday=2, tm_yday=148, tm_isdst=0)
>>>
>>> time.gmtime(1590537009.354817)
time.struct_time(tm_year=2020, tm_mon=5, tm_mday=26, tm_hour=23, tm_min=50, tm_sec=9, tm_wday=1, tm_yday=147, tm_isdst=0)
三、格式化时间:
格式华的时间字符串(Thu May 28 05:56:59 2020
)
常用方法
- time.asctime() --把一个表示时间的元组或者struct_time表示为这种形式:'Wed May 27 22:54:34 2020'。如果没有参数,将会将time.localtime()作为参数传入
>>> time.asctime(time.localtime())
'Thu May 28 06:02:08 2020'
>>> time.asctime(time.gmtime())
'Wed May 27 22:02:16 2020'
>>> time.asctime(time.gmtime(1590537009))
'Tue May 26 23:50:09 2020'
- time.ctime() --把一个时间戳(按秒计算的浮点数)转化为time.asctime()的形式。如果参数未给或者为None的时候,将会默认time.time()即当前时间戳为参数。
>>> time.ctime()
'Thu May 28 06:04:25 2020'
>>> time.ctime(1590537009)
'Wed May 27 07:50:09 2020'
- time.strftime(format[, tuple]) --格式化时间,返回format形式的字符串
属性(Attribute) | 值(value) |
---|---|
%y | 两位数的年份表示(00-99) |
%Y | 四位数的年份表示(000-9999) |
%m | 月份(01-12) |
%d | 月内中的一天(0-31) |
%H | 24小时制小时数(0-23) |
%I | 12小时制小时数(01-12) |
%M | 分钟数(00=59) |
%S | 秒(00-59) |
%a | 本地简化星期名称 |
%A | 本地完整星期名称 |
%b | 本地简化的月份名称 |
%B | 本地完整的月份名称 |
%c | 本地相应的日期表示和时间表示 |
%j | 年内的一天(001-366) |
%p | 本地A.M.或P.M.的等价符 |
%U | 一年中的星期数(00-53)星期天为星期的开始 |
%w | 星期(0-6),星期天为星期的开始 |
%W | 一年中的星期数(00-53)星期一为星期的开始 |
%x | 本地相应的日期表示 |
%X | 本地相应的时间表示 |
%Z | 当前时区的名称 |
%% | %号本身%y 两位数的年份表示(00-99) |
%Y | 四位数的年份表示(000-9999) |
%m | 月份(01-12) |
%d | 月内中的一天(0-31) |
%H | 24小时制小时数(0-23) |
%I | 12小时制小时数(01-12) |
%M | 分钟数(00=59) |
%S | 秒(00-59) |
%a | 本地简化星期名称 |
%A | 本地完整星期名称 |
%b | 本地简化的月份名称 |
%B | 本地完整的月份名称 |
%c | 本地相应的日期表示和时间表示 |
%j | 年内的一天(001-366) |
%p | 本地A.M.或P.M.的等价符 |
%U | 一年中的星期数(00-53)星期天为星期的开始 |
%w | 星期(0-6),星期天为星期的开始 |
%W | 一年中的星期数(00-53)星期一为星期的开始 |
%x | 本地相应的日期表示 |
%X | 本地相应的时间表示 |
%Z | 当前时区的名称 |
%% | %号本身 |
>>> time.strftime('%Y-%m-%d %H:%M:%S',time.localtime())
'2020-05-28 06:31:41'
- time.strptime(string[,format]) --一个格式化时间字符串转化为时间元组
>>> time.strptime('2020-05-28 06:31:41','%Y-%m-%d %H:%M:%S')
time.struct_time(tm_year=2020, tm_mon=5, tm_mday=28, tm_hour=6, tm_min=31, tm_sec=41, tm_wday=3, tm_yday=149, tm_isdst=-1)
四、其它用法
- time.sleep() --推迟指定的时间运行。单位为秒
time.sleep(5)