Python学习笔记十二:时期与时间

1、时期与时间

在代码中,我们常常需要与时间打交道。在Python中,与时间处理有关的模块包括time、datetime以及calendar。在Python中,通常用时间戳、格式化的时间字符串和元组3中方式表示时间。

1)时间戳

通常,时间戳表示从1970年1月1日00时00分00秒开始按秒计算的偏移量,也就是从1970年1月1日00时00分00秒起到现在的总毫秒数。
时间戳是一个经加密后形成的凭证文档,包括3部分:

  • 需加时间戳的文件的摘要
  • DTS收到文件的时间和时间
  • DTS的数字签名

一般来说,时间戳产生的过程为:用户首先将需要加时间戳的文件用Hash编码加密形成摘要,然后将该摘要发送到DTS,DTS加入收到文件摘要的日期和时间信息后再对该文件加密,最后送回用户。

书面签署文件的时间是由签署人自己写上的,而数字时间戳是由认证单位DTS添加的,以DTS收到文件的时间为依据。

注:
Python 3.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 时区的名字(如果不存在为空字符)
%% %字符

- %p只有与%I配合使用才有效果
- 文档中强调确实是0~61,而不是59,闰年秒占两秒
- 当使用strptime()函数时,只有这一年的周数和天数确定时%U和%W才会被计算

3)struct_time元组

struct_time元组共有9个元素:年、月、日、时、分、秒、一年中第几周、一年中第几天、是否为夏令时。

Python函数用一个元组装起来的9组数字处理时间,也被称作struct_time元组。

序号 属性 字段
0 tm_year 4位数年 如2008
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是决定是否为夏令时的旗帜

2、Time模块

函数 描述
time()
localtime([secs])
gmtime(t)
mktime(t)
asctime([t])
ctime([secs])
sleep(secs)
clock()
strftime(format[ , t])
strptime(string [ , format])

3、三种时间格式转换

这里写图片描述

猜你喜欢

转载自blog.csdn.net/viatorsun/article/details/80254665