Python 日期和时间
Python 提供了一个 time 和 calendar 模块可以用于格式化日期和时间。每个时间戳都以自从1970年1月1日午夜(历元)经过了多长时间来表示。(注:时间戳单位最适于做日期运算。但是1970年之前的日期就无法以此表示了。太遥远的日期也不行,UNIX和Windows只支持到2038年。)
时间元组(下表为常用字段)
序号 | 字段 | 值 |
0 | 4位数年 | 例如:2019 |
1 | 月 | 范围1至12 |
2 | 日 | 范围1至31 |
3 | 小时 | 范围0至23 |
4 | 分钟 | 范围0至59 |
5 | 秒 | 范围0至60 |
6 | 一周的第几天 | 范围0至5(0指星期一) |
7 | 一年的第几天 | 范围1至366 |
8 | 夏令时 | 1(夏令时)、0(不是夏令时)、-1(未知),默认 -1 |
时间戳转化成时间元组:localtime函数;获取可读的时间模式的函数:asctime函数;
元组转化成时间戳:mktime函数(接受时间元组并返回时间戳);
(转换过程:时间戳(浮点数形式)——时间元组——用户可读。获取时间戳:time.time())
格式化时间函数: strftime函数;语法规则:time.strftime(format[, t]);format为用户定义格式化规则,另一个参数为时间元组。
格式化符号 | 含义 |
%y | 以两位数的形式表示年份 |
%Y | 以四位数的形式表示年份 |
%m | 表示月份(01-12) |
%d | 表示一个月的第几天(0-31) |
%H | 表示小时(0-23),24小时制 |
%I | 表示小时(01-12),12小时制 |
%M | 表示分钟(00-59) |
%S | 表示秒(00-59) |
%w | 表示星期几(0-6,0为星期天) |
日历(calender)常用方法:
calendar.calendar(year,w=2,l=1,c=6):返回一个多行字符串格式的year年年历,3个月一行,间隔距离为c。 每日宽度间隔为w字符。每行长度为21* W+18+2* C。l是每星期行数。
calender.isleap(year):返回值为bool类型,判断一个年份是否为闰年。
calender.leapdays(Y1,Y2):返回在Y1,Y2两年之间的闰年总数。(Y2>Y1且Y2不判断,即Y1<=year<Y2)
calendar.month(year,month,w=2,l=1):返回一个多行字符串格式的year年month月日历,两行标题,一周一行。每日宽度间隔为w字符。每行的长度为7* w+6。l是每星期的行数。
calendar.weekday(year,month,day):返回某个日期是星期几,0(星期一)到6(星期日)。月份为 1(一月) 到 12(12月)。
calendar.monthrange(year,month):返回year-month的第一天时星期几(0为星期一),以及这个月有多少天。