Python中time与datetime模块基础用法与实战指南

慢慢来
慢慢来
发布时间:2026-10-11 | 3人浏览过
原创

本文详解Python内置time与datetime模块的核心功能,涵盖获取当前时间、时间戳与对象互转、计算时间间隔及字符串格式化等常见操作。通过标准库导入方式与分段代码示例,帮助开发者快速掌握Python中处理日期时间的正确姿势,满足日志记录、定时任务与周期计算等业务需求。

核心概念与导入准备

time 与 datetime 属于Python标准库,无需额外安装即可调用。两者定位互补:time 侧重底层 UNIX 时间戳(自1970年1月1日午夜起的浮点秒数)与系统时钟干预;datetime 提供面向对象的日期时间类,便于执行格式转换、算术运算与业务逻辑组装。

第1步:获取当前时间并提取时间戳

在缓存管理、接口签名或性能埋点场景中,通常直接读取毫秒级精度的系统时间戳作为基准值。

import time

# 获取当前高精度时间戳
current_ts = time.time()
print(f"当前时间戳: {current_ts}")

第2步:时间戳与日期时间对象双向转换

业务交互常需在原始数值与可读结构间切换。datetime.fromtimestamp() 将时间戳转为本地时区对象,.timestamp() 方法完成反向映射。

from datetime import datetime

# 时间戳转换为本地日期时间对象
ts = 1634018400
dt_obj = datetime.fromtimestamp(ts)
print(f"时间戳转对象: {dt_obj}")

# 对象还原为时间戳
back_to_ts = dt_obj.timestamp()
print(f"对象转时间戳: {back_to_ts}")

第3步:计算时间间隔与格式化输出

统计生命周期、设定倒计时或生成文件命名时,依赖 timedelta 进行算术运算,并通过 strftime 统一展示样式。

from datetime import datetime, timedelta

# 计算两个节点的时间差
start = datetime(2022, 1, 1)
end = datetime(2022, 12, 31)
interval = end - start
print(f"时间间隔: {interval.days}天")

# 格式化当前时间为指定字符串
now = datetime.now()
formatted_str = now.strftime("%Y-%m-%d %H:%M:%S")
print(f"格式化结果: {formatted_str}")

常见问题排错

时区偏差问题:上述代码默认挂载运行环境的本地时区。若涉及跨地域数据同步或分布式调度,应显式绑定时区信息(如 Python 3.9+ 内置的 zoneinfo 或 pytz),否则 fromtimestamp 可能产生偏移误差。 字符串解析与格式化混淆: strftime 仅负责对象转字符串。若需将外部传入的自定义格式字符串逆向解析为对象,请配对使用 datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S"),两者占位符规则一致但输入输出方向相反。

简要总结

熟练搭配 time 与 datetime 标准库可覆盖绝大多数Python日期处理场景。利用时间戳保障底层一致性,借助对象化API实现直观的业务计算,是构建稳健时间逻辑的基础。以上就是Python中time和datetime模块基础用法与实战指南的详细内容,更多关于Python时间处理技巧与标准库最佳实践的资料请关注本站其它相关文章!

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表