文章目录
time模块
import time
time.sleep([n]) # 休眠N秒
time.time() # 获取当前时间戳
在python中,表示时间通常的三种方式:
- 时间戳(timetamp):表示的是从1970.01.01 00:00:00 开始按秒计算的偏移量
- 格式化的时间字符串(format string)
- 结构化的时间(struct_time)—>元组 9个元素(年月日时分秒,一年的第几周,一年的第几天,夏令时)
python中时间日期格式化符号:
%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 %X')
'2019-07-26 08:56:15'
>>> time.strftime('%Y-%m-%d %x')
'2019-07-26 07/26/19'
>>> time.localtime()
time.struct_time(tm_year=2019, tm_mon=7, tm_mday=26, tm_hour=8, tm_min=57, tm_sec=49, tm_wday=4, tm_yday=207, tm_isdst=0)
time模块的常用方法
方法 | 描述 |
---|---|
time.localtime([sec]) | 将一个时间戳转化为一个当前时间的结构化时间(若未提供参数,默认当前时间) |
time.gmtime([sec]) | 和localtime()类似,不同的是,它是将一个时间戳转换为UTC时区(0时区)的结构化时间 |
time.time() | 返回当前时间戳 |
time.mktime(t) | 将结构化时间转换为时间戳 |
time.sleep(sec) | 线程推迟指定的时间运行,单位s——休眠 |
time.asctime([t]) | 把表时间的元组或结构化时间表示为:‘Sun July 26 09:06:35 2019’;如果未传参数,默认为time.localtime() |
time.ctime([t]) | 把一个时间戳转化为time.asctime()的形式,如果未传参数,默认time.time() |
time.strftime(format[,t]) | 把一个代表时间的元组/struct_time(localtime()和gmtime())转化为格式化的字符串,如果未传参数,默认为time.localtime() |
time.strptime() | 将结构化字符串转化为struck_time的形式,time.strftime(format[,t])的逆操作 |
- 时间戳,计算机识别
- 字符串时间,人类可看
- 结构化时间,对时间操作
>>> time.localtime()
time.struct_time(tm_year=2019, tm_mon=7, tm_mday=26, tm_hour=8, tm_min=57, tm_sec=49, tm_wday=4, tm_yday=207, tm_isdst=0)
>>> time.gmtime(time.time())
time.struct_time(tm_year=2019, tm_mon=7, tm_mday=26, tm_hour=1, tm_min=18, tm_sec=19, tm_wday=4, tm_yday=207, tm_isdst=0)
>>> time.localtime(time.time())
time.struct_time(tm_year=2019, tm_mon=7, tm_mday=26, tm_hour=9, tm_min=18, tm_sec=53, tm_wday=4, tm_yday=207, tm_isdst=0)
>>> time.ctime()
'Fri Jul 26 09:20:35 2019'
>>> time.strptime(time.ctime())
time.struct_time(tm_year=2019, tm_mon=7, tm_mday=26, tm_hour=9, tm_min=21, tm_sec=13, tm_wday=4, tm_yday=207, tm_isdst=-1)
结构化时间到时间戳的转化
- time.mktime(结构化时间)
>>> time.mktime(time.localtime())
1564104230.0
结构化时间到字符串时间的转化
- time.strftime(format[,t])
>>> time.strftime('%Y-%m-%d %X',time.localtime())
'2019-07-26 09:26:48'
字符串时间到结构化时间的转化
- time.strptime(时间字符串,字符串对应格式)
>>> time.strptime('2019/07/26','%Y/%m/%d')
time.struct_time(tm_year=2019, tm_mon=7, tm_mday=26, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=207, tm_isdst=-1)
>>> time.strptime('2019-7-26','%Y-%m-%d')
time.struct_time(tm_year=2019, tm_mon=7, tm_mday=26, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=207, tm_isdst=-1)
>>> time.strptime('2019-07-26','%Y-%m-%d')
time.struct_time(tm_year=2019, tm_mon=7, tm_mday=26, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=207, tm_isdst=-1)
结构化时间和字符串时间的转化(国际化时间字符串)
- time.asctime(结构化时间)
>>> time.asctime(time.localtime())
'Fri Jul 26 09:49:53 2019'
>>> time.asctime()
'Fri Jul 26 09:50:05 2019'
时间戳和字符串的转化(国际化)
- time.ctime(时间戳)
>>> time.ctime()
'Fri Jul 26 09:51:10 2019'
>>> time.ctime(time.time())
'Fri Jul 26 09:51:39 2019'
>>> time.ctime(1500000000)
'Fri Jul 14 10:40:00 2017'