python模块--time

时间的三种表示方法: 

1. 时间戳(timestamp): 从1997-01-01 00:00:00开始按秒计算的偏移量(float)

2. 格式化的时间字符串

3. 元组方式(struct_time): 共9个元素. 下面列出元组中的元素

索引 属性
0 tm_year(年)  
1 tm_mon(月) 1 - 12
2 tm_mday(日) 1 - 31
3 tm_hour(时) 0 - 23
4 tm_min(分) 0 - 59
5 tm_sec(秒) 0 - 61(闰年秒占两秒)
6 tm_wday(星期几) 0 - 6(0为周日)
7 tm_yday(一年的第几天) 1 - 366
8 tm_isdst(是否是夏令时)  

time模块

方法 返回值类型 说明
.localtime([seconds]) struct_time 将时间戳转换为当前时区的struct_time(无参数则表示当前时间)
.gmtime([seconds]) struct_time 将时间戳转换为UTC时区的struct_time(无参数则表示当前时间)
.time() float 当前时间的时间戳
.mktime(tuple) float 将struct_time转换为时间戳
.sleep(seconds) None 线程推迟指定的时间运行(单位为秒)
.clock() float UNIX: 返回"进程时间". Windows: 第一次调用返回进程运行的实际时间, 之后调用返回的是自第一次运行后到现在的运行时间.
.asctime([tuple]) str 传入表示时间的元组, 以'Sat Dec  2 15:07:10 2017'的格式返回(无参数则默认传入.localtime())
.ctime([seconds]) str 同.asctime()不过传入的是时间戳(默认传入.time())
.strftime(format[, tuple]) str 把一个代表时间的元组(未指定则传入.localtime())转化为格式化的时间字符串. 如: time.strftime("%Y-%m-%d %X") 输出 '2017-12-02 15:14:31'
.strptime(string, format) struct_time .strftime()的逆操作. 如: time.strptime('2017-12-02 15:14:31', '%Y-%m-%d %X')
输出 time.struct_time(tm_year=2017, tm_mon=12, tm_mday=2, tm_hour=15, tm_min=14, tm_sec=31, tm_wday=5, tm_yday=336, tm_isdst=-1)

格式化规则

格式

含义备注
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化月份名称
%B 本地完整月份名称
%c 本地相应的日期和时间表示
%d 一个月中的第几天(01 - 31)
%H 一天中的第几个小时(24小时制,00 - 23)
%I 第几个小时(12小时制,01 - 12)
%j 一年中的第几天(001 - 366)
%m 月份(01 - 12)
%M 分钟数(00 - 59)
%p 本地am或者pm的相应符
%S 秒(01 - 61)
%U 一年中的星期数。 (00 - 53星期天是一个星期的开始。 )第一个星期天之前的所有天数都放在第0周。
%w 一个星期中的第几天(0 - 6,0是星期天)
%W 和%U基本相同,不同的是%W以星期一为一个星期的开始。
%x 本地相应日期
%X 本地相应时间
%y 去掉世纪的年份(00 - 99)
%Y 完整的年份
%Z 时区的名字(如果不存在为空字符)
%% ‘%’字符

备注:

“%p”只有与“%I”配合使用才有效果

文档中强调确实是0 - 61,而不是59,闰年秒占两

当使用strptime()函数时,只有当在这年中的周数和天数被确定的时候%U和%W才会被计算

原文地址:https://www.cnblogs.com/P--K/p/7954441.html