代码点读机 / Python / datetime

datetime Python · 常用模块

`datetime` 模块用于处理日期和时间,比 `time` 模块更强大、更直观。它提供了日期、时间、日期时间、时间间隔等类型,方便进行日期运算和格式化。就像一个功能齐全的电子日历,能查日期、算天数、比较时间。

怎么用

先 `from datetime import datetime, date, time, timedelta`,然后使用相应类。

小例子

from datetime import datetime, date, timedelta
现在 = datetime.now()
print(现在)   # 当前日期和时间
今天 = date.today()
print(今天)   # 当前日期
明天 = 今天 + timedelta(days=1)
print(明天)   # 明天的日期
# 计算两个日期相差多少天
生日 = date(2025, 1, 1)
相差 = 生日 - 今天
print(f"距离生日还有 {相差.days} 天")

运行结果

2024-01-01 12:00:00.123456
2024-01-01
2024-01-02
距离生日还有 365 天

对比:用 time 模块处理日期运算很麻烦

import time
# 要计算两个日期相差多少天,用 time 模块要绕很多弯
用 `datetime` 模块可以直接做日期加减和比较。

常见使用场景

1. 获取当前日期时间:
from datetime import datetime
现在 = datetime.now()
print(f"今天是 {现在.year}年{现在.month}月{现在.day}日")
2. 日期运算:
from datetime import datetime, timedelta
到期日 = datetime.now() + timedelta(days=30)
print(到期日)
3. 格式化日期字符串:
print(datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
4. 解析日期字符串:
日期 = datetime.strptime("2024-01-01", "%Y-%m-%d")
print(日期)

提醒:- `datetime.now()` 返回当前日期和时间。 - `timedelta` 表示时间间隔,可以用于日期加减。 - 格式化用 `strftime`,解析用 `strptime`。 - 日期和时间可以相互比较:`日期1 < 日期2` 返回布尔值。

官方文档:https://docs.python.org/zh-cn/3/library/datetime.html

在代码里遇到不认识的词?打开代码点读机,点一下就懂 → ← Python全部词条