🕒 Python 中 datetime 模块的常见用法详解
在日常开发中,处理日期和时间几乎是不可避免的任务。无论是日志记录、数据分析,还是定时任务,Python 的 datetime 模块都能提供强大的支持。本文将带你快速掌握 datetime 的常见用法,助你写出更高效的时间处理代码。
📌 一、导入模块
import datetime
这是使用 datetime 的第一步,模块中包含了多个类:date、time、datetime 和 timedelta 等。
📅 二、获取当前时间和日期
# 当前日期和时间(本地时区)now = datetime.datetime.now()print(now)# 当前日期(不含时间)today = datetime.date.today()print(today)
示例输出(你的实际结果会因运行时刻不同而不同):
2026-01-18 21:41:12.2441822026-01-18
这两个方法是最常用的,尤其是在记录日志或生成时间戳时非常实用。
🧱 三、创建日期和时间对象
# 日期对象d = datetime.date(2025, 9, 20)print(d)# 时间对象t = datetime.time(14, 30, 0)print(t)# 日期时间对象dt = datetime.datetime(2025, 9, 20, 14, 30, 0)print(dt)
输出:
2025-09-2014:30:002025-09-20 14:30:00
你可以根据需要创建不同类型的时间对象,灵活应对各种场景。
🔄 四、格式化与解析时间字符串
dt = datetime.datetime(2025, 9, 20, 14, 30, 0)# 格式化为字符串dt_str = dt.strftime("%Y-%m-%d %H:%M:%S")print(dt_str)# 从字符串解析为 datetime 对象parsed_dt = datetime.datetime.strptime("2025-09-20 14:30:00", "%Y-%m-%d %H:%M:%S")print(parsed_dt)
输出:
2025-09-20 14:30:002025-09-20 14:30:00
常用格式代码:
这在处理日志文件、用户输入等场景中非常重要。
⏳ 五、时间差计算(timedelta)
from datetime import timedelta# 日期差值delta = datetime.date(2025, 9, 25) - datetime.date(2025, 9, 20)print(delta) # 完整的 timedelta 表示print(delta.days) # 仅天数# 增加或减少时间new_date = datetime.date(2025, 9, 20) + timedelta(days=10)print(new_date)
输出:
5 days, 0:00:0052025-09-30
timedelta 是处理时间间隔的利器,可以轻松实现日期加减。
🧮 六、获取时间的组成部分
dt = datetime.datetime(2025, 9, 20, 14, 30, 0)print(dt.year, dt.month, dt.day)print(dt.hour, dt.minute, dt.second)
输出:
2025 9 2014 30 0
这些属性可以帮助你提取时间的各个部分,进行更细粒度的控制。
📆 七、获取星期几
# 使用固定日期保证示例可复现d = datetime.date(2025, 9, 20)# 星期一是 0,星期日是 6weekday = d.weekday()print(weekday)# 星期一是 1,星期日是 7(ISO 标准)isoweekday = d.isoweekday()print(isoweekday)
输出:
56
说明:2025-09-20 是星期六,因此 weekday() 返回 5,isoweekday() 返回 6。
✅ 总结
datetime 是 Python 中非常实用的模块,掌握它的常见用法可以大大提升你的代码效率。如果你觉得这篇文章对你有帮助,欢迎点赞、分享给更多 Python 爱好者!也可以在评论区留言你遇到的时间处理问题,我们一起交流学习!