Python实现字符串与日期相互转换的完整指南

Elena
Elena
发布时间:2026-10-12 | 2人浏览过
原创

本文详细讲解在Python中将日期对象转换为格式化字符串,以及将规范日期字符串解析回日期对象的具体流程。通过内置的datetime模块结合标准占位符,可高效完成数据序列化操作。文章提供完整可运行代码、格式对照表及异常处理方案,满足日志记录、数据采集与定时任务开发的实际需求。

Python 日期与字符串转换核心原理

在数据处理与自动化脚本开发中,日期格式的统一转换是常见需求。Python 标准库提供了 datetime 和 time 两个模块来处理时间相关操作。现代 Python 开发推荐使用 datetime 模块,因为它能够直接处理带时区的对象并避免冗余的元组拆解过程,底层仍兼容原有的格式化逻辑。

第 1 步:确认运行环境并导入模块

确保系统已安装 Python 3.x 版本。在脚本头部引入所需类与方法:

import datetime
import time

第 2 步:将日期时间对象转换为字符串(Date to Str)

获取当前系统时间或特定时间点后,可通过 strftime 方法按自定义模板输出文本。该方法接受一个包含占位符的字符串作为参数。

# 获取当前时间对象
now_time = datetime.datetime.now()

# 转换为指定格式的字符串
date_str = now_time.strftime("%Y-%m-%d %H:%M:%S")
print(date_str)

执行后将得到类似 2023-10-25 14:30:00 的标准文本输出,便于存储于文件或数据库字段中。

第 3 步:将字符串解析为日期对象(Str to Date)

外部采集的数据常以字符串形式存在,需还原为可进行加减运算的日期对象。使用 datetime.strptime 可直接完成此转换,无需像旧版写法那样先拆解为元组再实例化。

# 原始日期字符串(注意格式需与模板严格一致)
target_str = "2009-08-08"

# 严格匹配模板进行解析
parsed_date = datetime.datetime.strptime(target_str, "%Y-%m-%d")
print(parsed_date)

程序会校验输入字符串是否符合 %Y-%m-%d 的结构,若字符数量、分隔符或数值范围不匹配,将触发 ValueError 异常,此时需检查源数据格式或调整解析模板。

常用格式占位符对照表

掌握以下核心占位符即可覆盖 90% 以上的日常转换场景。编写模板时需保持顺序与占位符一一对应。

  • %Y:四位完整年份(如 2009)
  • %m:两位月份数字(01-12)
  • %d:两位日期数字(01-31)
  • %H:24小时制小时数(00-23)
  • %M:分钟数(00-59)
  • %S:秒数(00-61,含闰秒)
  • %A:英文星期全称(如 Monday)
  • %B:英文月份全称(如 August)

数据清洗排错指南

转换失败多由格式不匹配或环境差异引起,可按以下步骤排查:

  1. 核对分隔符: 原示例中存在多余空格(如 "2009 - 08 - 08"),实际应用中请尽量去除空格或使用单一连字符,避免模板解析错位。
  2. 验证 Print 语法: 早期 Python 2 环境支持 print 语句,Python 3 必须使用括号形式的 print(值),否则会导致 SyntaxError。
  3. 处理边界日期: 若字符串包含 02-30 等非法日期,strptime 会在运行时抛出错误,建议在调用前加入正则预处理或 try-except 捕获机制。

以上就是 Python 实现字符串和日期相互转换的详细内容,更多关于 Python 时间处理与数据格式化的资料请关注本站其它相关文章!

本站声明

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

Python 相关产品和应用

全部下载

专题列表