接上文Python开发从零开始-37.2-日期与时间。本文小编与大家分享 Python 日期与时间处理的相关知识。
二、datetime 模块
(一)datetime 模块概述
datetime 模块是处理日期和时间的核心标准库,它提供了多个类来支持精确的时间运算、格式化及解析。
1、datetime 模块的核心类概览
datetime 模块主要包括以下核心类:
date:用于表示日期(年、月、日);
time:用于表示时间(小时、分钟、秒、微秒);
datetime:它是 date 和 time 的结合,是最常使用的类,包含日期(年、月、日)和时间(小时、分钟、秒、微秒)的完整信息;
timedelta:表示两个时间点之间的时间间隔,用于加减运算;
tzinfo:抽象基类(Abstract Base Class),用于提供时区信息。它本身不能被直接实例化,必须通过继承该类并实现其抽象方法来创建具体的时区对象;
timezone:tzinfo 的具体子类,用于表示固定偏移量的时区(如 UTC)。
datetime 模块的核心类关系图如下:

time 模块和 datetime 模块都是 Python 中处理时间的标准库模块,两者的主要区别在于:
定位不同:time 模块更接近计算机系统底层,适合获取时间戳和简单计时;datetime 模块更符合人类日历概念,提供日期、时间、时区等丰富功能;
使用方式不同:time 模块是函数式调用,直接调用函数即可;datetime 模块是面向对象设计,需要创建 date、time、datetime 等类对象来操作;
精度和效率不同:time 模块精度更高、效率更好,适合性能敏感场景;datetime 模块功能更丰富但较慢,适合复杂日期计算。
(二)datetime 模块常用功能
datetime 模块是内置模块,无需另行安装,只需导入即可。
【小编提示】
|
1、获取当前日期和时间,并格式化输出
使用 datetime.now() 方法获取当前日期和时间(该方法返回 datetime 对象),使用 datetime.strftime() 方法格式化日期和时间。

2、创建特定日期和时间
datetime 对象可创建特定日期和时间,date 对象可创建特定日期,time 对象可创建特定时间。

3、将字符串解析为日期和时间
datetime.strptime() 方法可将字符串转换为日期和时间。

4、日期和时间加减
可以使用 timedelta 类进行日期和时间的加减计算。
(1)创建时间间隔类

(2)时间运算

(3)运算规则
时间间隔加减:两个 timedelta 对象可以相加或相减,结果仍是 timedelta 对象;
与日期时间配合:datetime 或 date 对象可以加减 timedelta,得到新的日期时间;
乘除运算:可以乘以整数或浮点数;可以除以整数、浮点数或另一个 timedelta;支持取余运算(%)和整除运算(//)。
比较大小:支持<、<=、>、>=、、!= 等比较运算,返回布尔值。
5、时间戳处理
可以使用 datetime.fromtimestamp()方法将时间戳转换为 datetime 对象。

6、时区处理
虽然 datetime 模块提供了 timezone 类用于时区处理,但是使用 zoneinfo 模块会更为便捷且功能强大,所以关于时区处理待介绍 zoneinfo 模块时再行说明。
【小编提示】 datetime 模块包括很多类、属性,小编不可能一一介绍其使用方法,大家可以查阅官方文档或网络教程深入了解。 |
受文章篇幅所限,下文将继续介绍 Python 日期与时间处理的相关知识。