1、在python中,与时间处理有关的模块包括time、datetime、calendar
2、在python中,通常用时间戳、格式化的时间字符串和元组3种方式来表示时间,时间间隔是以秒为单位的浮点小数。
一. 时间戳
1、通常,时间戳表示从 1970 年 1 月 1 日 00 时 00 分 00 秒开始按秒计算的偏移量,也就是从1970年1月1日00时00分00秒(北京时间1970年1月1日08时00分00秒)起到现在的总秒数。它也被称为 Unix 时间戳(Unix Timestamp)。时间戳(timestamp),通常是一个字符序列,唯一地标识某一刻的时间。
2、python3.5中支持最大时间戳为32535244799(3001-01-01 15:59:59)
时间戳(time-stamp)是一个经加密后形成的凭证文档,它包括三个部分:
1、需加时间戳的文件的摘要(digest);
2、DTS收到文件的日期和时间;
3、DTS的数字签名
一般来说,时间戳产生的过程为:用户首先将需要加时间戳的文件用 Hash 编码加密形成摘要,然后将该摘要发送到DTS,DTS在加入了收到文件摘要的日期和时间信息后再对该文件加密(数字签名),然后送回用户。书面签署文件的时间是由签署人自己写上的,而数字时间戳则不然,它是由认证单位DTS来加的,以DTS收到文件的时间为依据。
二. 时间格式化符号
python中时间日期格式化符号:
%a | 本地简化星期名称 |
%A | 本地完整星期名称 |
%b | 本地简化的月份名称 |
%B | 本地完整的月份名称 |
%c | 本地相应的日期表示和时间表示 |
%d | 一个月中的第几天(0-31) |
%H | 一天中的第几小时(24小时制,0-23) |
%I | 12小时制小时数(01-12) |
%j | 一年中的第几天(001-366) |
%m | 月份(01-12) |
%M | 分钟数(00=59) |
%p | 本地A.M.或P.M.的相应符 |
%S | 秒(00-59) |
%U | 一年中的星期数(00-53)星期天为星期的开始 |
%w | 星期(0-6),星期天(0)为星期的开始 |
%W | 一年中的星期数(00-53)星期一为星期的开始 |
%x | 本地相应的日期表示 |
%X | 本地相应的时间表示 |
%y | 两位数的年份表示(00-99) |
%Y | 四位数的年份表示(000-9999) |
%Z | 当前时区的名称(如果不存在为空字符) |
%% | %号本身 |
【注】:
1、%P只有与%I配合使用才有效果
2、当使用strptime()函数时,只有这一年的周数和天数确定时%U和%W才会被计算
三. struct_time 元组
很多Python函数用一个元组装起来的9组数字处理时间:
序号 | 属性 | 字段 | 值 |
0 | tm_year | 4位数年 | 如 2018 |
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 (60或61 是闰秒) |
6 | tm_wday | 一周的第几日 | 0到6 (0是周一) |
7 | tm_yday | 一年的第几日 | 1到366 (儒略历) |
8 | tm_isdst | 夏时令 | 是否为夏令时,值有:1(夏令时)、0(不是夏令时)、-1(未知),默认 -1 |