接上文Python开发从零开始-37.3-日期与时间。本文小编与大家分享 Python 日期与时间处理的相关知识。
三、calendar 模块
calendar 模块是 Python 内置模块,用于处理日历数据,包括:获取日历获取、计算日期之间的差异、以及格式化日期等。
(一)日历获取
1、获取指定年、月的日历
使用 calendar.month() 函数可以获取指定年、月的日历字符串。

2、获取指定年日历
使用 calendar.calendar() 函数可以获取指定年份所有月的日历字符串。

3、获取 HTML 格式的指定年、月的日历
使用 calendar.HTMLCalendar 对象的 formatmonth() 方法获取 HTML 格式的指定年、月的日历。

(二)打印日历
可以使用 calendar.prmonth() 函数打印指定年、月的日历。
calendar.prmonth(2026, 2) # 打印 2026 年 2 月日历,无需 print 语句可以使用 calendar.prcal() 函数打印指定年份所有月的日历。
calendar.prcal(2026) # 打印 2026 年所有月份日历,无需 print 语句还可以使用终端打印当年所有日历(python -m calendar)。

(三)判断闰年
可以使用 calendar.isleap() 函数判断指定年份是否为闰年。闰年是为了补偿公历年与太阳年之间的时间差而设定的特殊年份。如果一个年份能被 4 整除但不能被 100 整除,或者能被 400 整除,那么这个年份就是闰年。闰年有 366 天,其中 2 月有 29 天,而普通年份则有 365 天,2 月只有 28 天。

【小编提示】 calendar 模块包括很多类、属性,小编不可能一一介绍其使用方法,大家可以查阅官方文档或网络教程深入了解。 |
在 Python 中,时区用于表示某一地区相对于 UTC(协调世界时)的时间偏移。处理时区可以使用标准库 datetime、zoneinfo(Python 3.9+)模块以及第三方库如 pytz、dateutil 等。
【小编提示】 时区是地球按经度划分的 24 个统一时间区域,英文称为 Time Zone,全球相邻时区时间相差 1 小时,中国全国统一使用 东八区(北京时间)。 |
使用 zoneinfo 模块时,初学者经常会遇到各种报错,主要原因是缺失 IANA 时区数据库,Windows 及旧 Linux 需安装 tzdata 数据库(pip install tzdata),并且检查环境变量或 Python 安装配置问题。
五、时间与时间第三方库
在Python中,处理日期和时间通常可以使用内置的 datetime 模块。然而,对于更复杂或特定的需求,比如时区处理、国际化日期格式、解析多种日期时间格式等,第三方库,例如:dateutil、pendulum、arrow 等等,可以提供更多的功能和灵活性。
Python 关于日期和时间处理的模块非常多,而各模块包括很多类、属性,小编不可能一一介绍其使用方法,大家可以查阅官方文档或网络教程深入了解。