当前位置:首页>python>Python开发从零开始-37.3-日期与时间

Python开发从零开始-37.3-日期与时间

  • 2026-09-08 18:06:37
Python开发从零开始-37.3-日期与时间

接上文Python开发从零开始-37.2-日期与时间。本文小编与大家分享 Python 日期与时间处理的相关知识。

二、datetime 模块

(一)datetime 模块概述

datetime 模块是处理日期和时间的核心标准库,它提供了多个类来支持精确的时间运算、格式化及解析。‌‌

1、datetime 模块的核心类概览

datetime 模块主要包括以下核心类:

  • date‌:用于表示日期(年、月、日);

  • ‌time‌:用于表示时间(小时、分钟、秒、微秒);

  • ‌datetime‌:它是 date 和 time 的结合,是最常使用的类,包含日期(年、月、日)和时间(小时、分钟、秒、微秒)的完整信息;

  • ‌timedelta‌:表示两个时间点之间的‌时间间隔‌,用于加减运算;

  • tzinfo:抽象基类‌(Abstract Base Class),用于提供时区信息。它本身不能被直接实例化,必须通过继承该类并实现其抽象方法来创建具体的时区对象;

  • ‌timezone‌:tzinfo 的具体子类,用于表示固定偏移量的时区(如 UTC)。‌‌

datetime 模块的核心类关系图如下:

2、time 模块与 datetime 模块的区别

time 模块和 datetime 模块都是 Python 中处理时间的标准库模块,两者的主要区别在于:

  • 定位不同‌:time 模块更接近计算机系统底层,适合获取时间戳和简单计时;datetime 模块更符合人类日历概念,提供日期、时间、时区等丰富功能;

  • ‌使用方式不同‌:time 模块是函数式调用,直接调用函数即可;datetime 模块是面向对象设计,需要创建 date、time、datetime 等类对象来操作;

  • ‌精度和效率不同‌:time 模块精度更高、效率更好,适合性能敏感场景;datetime 模块功能更丰富但较慢,适合复杂日期计算。‌‌‌

(二)datetime 模块常用功能

datetime 模块是内置模块,无需另行安装,只需导入即可。

【小编提示】

  • 使用 import datetime 语句导入模块,在使用模块中的类时,需要采用 datetime.类名 语法;

  • 如果使用 from datetime import 类名 语句,则可直接使用类名。

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 日期与时间处理的相关知识。

最新文章

随机文章