Python 的 datetime 模块是一个处理日期和时间的强大工具,提供了多种类和函数以便于日期和时间的计算、解析和格式化。这个模块是 Python 标准库的一部分,广泛应用于需要日期和时间处理的程序中。
主要类和函数
-
datetime.date
- 表示日期的类,属性包括年、月、日。
- 常用方法如
today()(返回当前日期)和fromtimestamp()(从 Unix 时间戳转换)。
-
datetime.time
- 表示时间的类,属性包括小时、分钟、秒和微秒。
- 不包含日期信息。
-
datetime.datetime
- 同时包含日期和时间的类。
- 常用方法如
now()(返回当前日期和时间)、fromtimestamp()和utcnow()(返回当前的 UTC 时间)。
-
datetime.timedelta
- 表示两个日期或时间之间的差异(即持续时间)。
- 可用于日期和时间的算术运算。
-
datetime.tzinfo
- 用于处理时区的基类。
-
datetime.timezone
tzinfo的具体实现,表示 UTC 和固定偏移的时区。
示例
-
获取当前日期和时间:
from datetime import datetime now = datetime.now() print(now) # 输出类似 2024-01-02 12:34:56.789012 -
日期算术运算:
from datetime import datetime, timedelta now = datetime.now() one_week_later = now + timedelta(weeks=1) print(one_week_later) # 输出一周后的日期和时间 -
解析和格式化日期:
from datetime import datetime dt = datetime.strptime("2024-01-02", "%Y-%m-%d") print(dt) # 解析字符串为日期 formatted = dt.strftime("%A, %d %B %Y") print(formatted) # 格式化日期为易读字符串
使用场景
- 日志记录:记录事件发生的日期和时间。
- 数据分析:处理和分析时间序列数据。
- 任务调度:计算和设置任务执行的具体时间。
- 用户界面:在用户界面显示格式化的日期和时间。
注意事项
- 处理时区可以复杂,特别是在涉及夏令时的地区。
strftime和strptime方法用于日期的格式化和解析,它们使用特定的格式化代码,这些代码在 Python 文档中有详细说明。
datetime 模块由于其强大的功能和灵活性,在 Python 中被广泛用于日期和时间的处理。