日期和时间
程序员文章站
2022-03-20 21:53:28
#在代码中,我们常常需要和时间打交道。在Python中,与时间处理有关的模块包括time、datetime以及calendar. #在Python中,通常用时间戳、格式化的时间字符串和元组3中方式表示时间。下面分别进行讲解。 1、时间戳 #通常,时间戳(timestamp)表示从1970年1月1日0 ......
#在代码中,我们常常需要和时间打交道。在Python中,与时间处理有关的模块包括time、datetime以及calendar.
#在Python中,通常用时间戳、格式化的时间字符串和元组3中方式表示时间。下面分别进行讲解。
1、时间戳
#通常,时间戳(timestamp)表示从1970年1月1日00时00分00秒开始按秒计算的偏移量,也就是从1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起到现在的总毫秒数。
#时间戳是一个经加密后形成的凭证文档,包括3部分:
①:需加时间戳的文件的摘要(digest)。
②:DTS收到文件的日期和时间。
③:DTS的数字签名。
#一般来说,时间戳产生的过程为:用户首先将需要加时间戳的文件用Hash编码加密形成摘要,然后将该摘要发送到DTS,DTS加入收到文件摘要的日期和时间信息后再对该文件加密(数字签名),最后发送回用户。
#书面签署文件的时间是由签署人自己写上的,而数字时间戳是由认真单位DTS添加的,以DTS收到文件的时间为依据。
#Python3.5中支持的最大时间戳为32535244799(3001-01-01 15:59:59).
2、时间格式化符号
#在Python中,一般用下表所示的格式化符号对时间进行格式化。
格式
含义
备注
%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
时区的名字(如果不存在为空字符)
%%
%字符
#下面介绍上表中3个备注的含义
①:%p只有与%I配合使用才有效果。
②:文档中强调确实是0-61,而不是59,闰年秒占两秒。
③:当使用strptie()函数时,只有这一年的周数和天数确定时%U和%W才会被计算
3、struct_time元组
#struct_time元组共有9个元素:年、月、日、时、分、秒、一年中第几周、一年中第几天、是否为夏令时。
#Python函数用一个元组装起来的9组数字处理时间,也被称作struct_time元组。下表列出了这种结构的属性。
序号
属性
字段
值
0
tm_year
4位年数
如2008
1
tm_moon
月
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是决定
是否位夏令时的旗帜