Python基础---时间模块 (一)

本文介绍了Python中的时间模块,包括calendar日历模块、time时间模块、datetime日期时间模块和timeit时间检测模块。详细讲解了时间戳、UTC时间、夏令时的概念,并重点介绍了calendar模块的使用方法。

时间模块

Python中,关于时间模块有四个

1、calendar 日历模块

2、time 时间模块

3、datetime 日期时间模块

4、timeit 时间检测模块

时间戳:从1970年1月1日0时0分0秒开始计时,单位为秒,也叫Linux时间戳

UTC时间:世界协调时间,特指格林尼治天文台所在位置的时间,也叫格林尼治时间

     中国为东八区,和UTC时间差了8小时,即多了8小时

夏令时:夏时制,另译夏令时间(英语:Summer time),又称日光节约时制日光节约时间(英语:Daylight saving time),

    是一种为节约能源而人为规定地方时间的制度,在这一制度实行期间所采用的统一时间称为“夏令时间”。

    一般在天亮较早的夏季人为将时间调快一小时,可以使人早起早睡,减少照明量,以充分利用光照资源,从而节约照明用电。各个采纳夏时制的国家规定不同。

时间元组:struct_time,用于表示时间格式的元组数据,time模块的主要方式,Python专有,不是标准的元组数据

     (tm_year, tm_mon, tm_day, tm_hour, tm_min, tm_sec, tm_wday, tm_yday, tm_isdst)

       tm_year:   年(四位数)

     tm_mon:   月 1~12

     tm_mday:     日 1~31

     tm_hour:      时 0~23

       tm_min:   分 0~59

     tm_sec:    秒 0~61;60为闰秒,61为历史保留

     tm_wday:   周几 0~6 代表 周一至周日

       tm_yday:  一年的第几天 1~366

     tm_isdst:  夏令时,0代表不是,其他值是

 

一、calendar 日历模块

  需要提前导入该模块:import calendar

1、calendar()

  语法:calendar.calendar(theyear, w=2, l=1, c=6, m=3)

      theyear:想要获取的年份,四位数字

      w参数:两个日期之间的建个字符长度,默认值为2

      l参数:一个周占用几行高度,默认值为1

      c参数:两个月份之间的空白间隔,默认值为6

      m参数:一行显示几个月,默认值为3

  功能:获取某年的所有日历

 1 import calendar
 2 
 3 year = calendar.calendar(2018)
 4 print(year)
 5 --->
 6                             2018
 7       January                   February                   March
 8 Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
 9  1  2  3  4  5  6  7                1  2  3  4                1  2  3  4
10  8  9 10 11 12 13 14       5  6  7  8  9 10 11       5  6  7  8  9 10 11
11 15 16 17 18 19 20 21      12 13 14 15 16 17 18      12 13 14 15 16 17 18
12 22 23 24 25 26 27 28      19 20 21 22 23 24 25      19 20 21 22 23 24 25
13 29 30 31                  26 27 28                  26 27 28 29 30 31
14 。。。。。。
15 。。。。。。

2、month()

  语法:calendar.month(theyear, themonth, w=0, l=0)

      w, l 参数同上

  功能:获取指定月份的日历

 1 import calendar
 2 
 3 mon = calendar.month(2018, 3)
 4 print(mon)
 5 --->
 6      March 2018
 7 Mo Tu We Th Fr Sa Su
 8           1  2  3  4
 9  5  6  7  8  9 10 11
10 12 13 14 15 16 17 18
11 19 20 21 22 23 24 25
12 26 27 28 29 30 31

3、monthcalendar()

  语法:calendar.monthcalendar(theyear, themonth)

  功能:获取制定月份的日历的矩阵格式

  返回值:是一个嵌套列表,一周为一个list元素

1 import calendar
2 
3 mon = calendar.monthcalendar(2018, 3)
4 print(mon)
5 --->[[0, 0, 0, 1, 2, 3, 4], [5, 6, 7, 8, 9, 10, 11], [12, 13, 14, 15, 16, 17, 18], [19, 20, 21, 22, 23, 24, 25], [26, 27, 28, 29, 30, 31, 0]]
6 # 其中,一个月为一个list,其中元素以一周为一个list,在月初和月末的0元素,代表当天是上月或下月的日期,周列表中,从周一开始排列到周日

4、isleap()

  语法:calendar.isleap(year)

  功能:判断检测指定的年份是否为闰年

     1、年份不能被100整除,但是可以被4整除的

     2、年份能被100整除,且必须能被400整除的

1 import calendar
2 
3 print(calendar.isleap(2018))
4 --->False
5 
6 print(calendar.isleap(2012))
7 --->True

5、leapdays()

  语法:calendar.leapdays(y1, y2)

      y1-y2区间内,包含y1,不包含y2

  功能:获取指定年份之间的闰年的个数

 1 import calendar
 2 
 3 num = calendar.leapdays(2000, 2020)
 4 print(num)
 5 --->5
 6 # 2000-2020年一共6个闰年,但是因为不包含结尾年份,num = 5
 7 
 8 num = calendar.leapdays(2000, 2021)
 9 print(num)
10 --->6

6、monthrange()

  语法:calendar.monthrange(year, month)

  功能:获取某个月份是周几开始,以及当月天数

  返回值:一个tuple,第一位数字代表从周几开始,第二位代表天数

      0~6 代表 周1~周日

1 import calendar
2 
3 
4 print(calendar.monthrange(2018, 3))
5 --->(3, 31)
6 # 2018年3月,从周四开始,共31天

 

7、weekday()

  语法:calendar.weekday(year, month, day)

  功能:根据年月日计算当天是周几

  返回值:整型 0~6 代表周1~周日

1 import calendar
2 
3 
4 print(calendar.weekday(2018, 3, 12))
5 --->0

8、timegm()

  语法:calendar.timegm(time_tuple)

      time_tuple:时间元组 

  功能:将时间元组转换为时间戳

1 import calendar
2 
3 ttp = (2018, 3, 12, 22, 16, 30, 0, 0, 0)
4 # 将2018年3月12日22时16分30秒转换为时间戳
5 print(calendar.timegm(ttp))
6 --->1520892990

 

转载于:https://www.cnblogs.com/lambs/p/8552371.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值