本文是学习齐老师的《python全栈工程师》课程的笔记,欢迎学习交流。同时感谢齐老师的精彩传授!
一、课程目标
- 了解标准库的calendar模块
- 了解标准库的time模块
- 了解标准库的datetime模块
二、详情解读
01.calendar模块:
- calendar 模块输出日历及相关的函数。
– 默认,礼拜一作为一周的第一天;礼拜日作为一周的最后一天
– 用setfirstweekday()方法可以将第一天设置为礼拜日,或者其他任意一天
– 官方文档:https://docs.python.org/zh-cn/3/library/calendar.html
# 交互模式下:
>>> import calendar
>>> print(calendar.calendar(2019))
输出如下内容:
# 交互模式下:
>>> import calendar
>>> calendar.firstweekday() # 一周中的第一天,默认是0,即周一
0
>>> calendar.setfirstweekday(6) # 将周日设置为一周中的第一天
>>> calendar.firstweekday()
6
>>> print(calendar.calendar(2019))
>>> print(calendar.month(2019, 11))
将输出如下结果,(注意:前面已经将周日设置为一周第一天了)
以列表的形式得到某个月的日历:
# 获取某个月的第一天是星期几,这个月共几天
>>> calendar.monthrange(2019, 11)
(4, 30) # 4表示11月份的第一天是星期四,11月份共有30天
>>> calender.isleap(2019)
False # 2019不是闰年
>>> calendar.isleap(2000)
True # 2000是闰年
>>> calendar.leapdays(2000, 2019)
5 # 表示2000年到2019年之间有5个闰年
>>> calendar.weekday(2019, 11, 11)
0 # 表示2019年11月11号是星期一,0是星期一,6是星期日
02.time模块:
- time模块提供了各种时间相关的函数。 此模块中的功能可能无法处理纪元之前或将来的远期日期和时间。未来的截止点由c库决定,例如对于32位系统,它通常在2038年。此模块中定义的大多数函数调用都具有相同名称的平台c库函数。因为这些函数的意义因平台而异,所以使用时最好阅读平台相关文档。
- UTC(世界协调时) 又称格林尼治标准时间(GMT),与之对应的是各个时区的本地时间,如:北京时间。
- epoch: 表示开始计时的时刻,对于Unix而言,epoch(时刻)值为:1970处01月01日的 00:00:0UTC.
- timestamp(时间戳): 当前时刻与格林尼治时间1970年1月1日0时0分0秒之间的时间间隔(单位:秒)(注:包含闰秒)。
# 交互模式下:
>>> import time
>>> time.gmtime(0)
time.struct_time(tm_year=1970, tm_mon=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0)
>>> time.time