目录
使用 datetime.strptime() 基本方法
处理不同格式或带时区的时间字符串
使用第三方库简化操作(可选)
首页 后端开发 Python教程 如何将字符串解析到Python中的DateTime对象中

如何将字符串解析到Python中的DateTime对象中

Jul 19, 2025 am 03:46 AM

解析字符串为Python中的datetime对象最常用的方法是使用datetime模块的strptime()函数,该方法需根据输入字符串的格式编写匹配的格式字符串;常见格式符包括%Y(四位年份)、%m(两位月份)、%d(两位日期)、%H(小时)、%M(分钟)、%S(秒)等;对于非标准格式或带时区的时间字符串,应调整格式符以匹配,如%B(完整月份名)、%I(12小时制小时)、%p(AM/PM标识)、%z(时区偏移);若希望自动识别格式,可使用第三方库如dateutil的parser.parse()方法,但需注意自动识别可能存在的歧义问题。

How to parse a string into a datetime object in Python

解析字符串为 Python 中的 datetime 对象,最常用的方式是使用 datetime 模块中的 strptime() 方法。它允许你根据指定的格式将字符串转换成一个 datetime 对象。

How to parse a string into a datetime object in Python

使用 datetime.strptime() 基本方法

这个方法的基本用法是:

from datetime import datetime

date_string = "2023-10-05 14:30:00"
date_format = "%Y-%m-%d %H:%M:%S"
dt = datetime.strptime(date_string, date_format)

这里的关键在于格式字符串要和输入字符串完全匹配。比如 %Y 表示四位年份,%m 是两位月份,%d 是两位日期,等等。

How to parse a string into a datetime object in Python

常见格式符简要说明:

  • %Y:四位数的年份(如 2023)
  • %m:两位数的月份(01 到 12)
  • %d:两位数的日期(01 到 31)
  • %H:24小时制的小时(00 到 23)
  • %M:分钟(00 到 59)
  • %S:秒(00 到 59)

处理不同格式或带时区的时间字符串

有些时间字符串可能包含时区信息或者格式不太标准,例如:

How to parse a string into a datetime object in Python
"October 05, 2023 at 02:30 PM"
"2023/10/05 14:30:00  0800"

这时候你需要调整格式字符串来匹配这些情况:

datetime.strptime("October 05, 2023 at 02:30 PM", "%B %d, %Y at %I:%M %p")
datetime.strptime("2023/10/05 14:30:00  0800", "%Y/%m/%d %H:%M:%S %z")

注意:

  • %B 是完整的月份名(如 October)
  • %I 是 12 小时制的小时
  • %p 是 AM/PM 标识
  • %z 可以处理时区偏移(如 0800)

如果字符串中没有时区信息但你想加上,可以用第三方库(如 pytz 或 zoneinfo)手动设置。


使用第三方库简化操作(可选)

如果你经常处理各种格式的时间字符串,可以考虑使用像 dateutil 这样的库,它能自动识别大多数常见格式,不需要手动写格式字符串:

from dateutil import parser

dt = parser.parse("2023-10-05T14:30:00 08:00")

这对于非标准化输入非常方便,但也有一定风险 —— 自动识别可能会出错,特别是在处理模糊格式时(如 “01/02/03”)。


基本上就这些。只要记住格式字符串必须和输入严格一致,或者在不确定格式时使用更智能的解析工具。

以上是如何将字符串解析到Python中的DateTime对象中的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

PHP教程
1596
276
Python连接到SQL Server PYODBC示例 Python连接到SQL Server PYODBC示例 Jul 30, 2025 am 02:53 AM

安装pyodbc:使用pipinstallpyodbc命令安装库;2.连接SQLServer:通过pyodbc.connect()方法,使用包含DRIVER、SERVER、DATABASE、UID/PWD或Trusted_Connection的连接字符串,分别支持SQL身份验证或Windows身份验证;3.查看已安装驱动:运行pyodbc.drivers()并筛选含'SQLServer'的驱动名,确保使用如'ODBCDriver17forSQLServer'等正确驱动名称;4.连接字符串关键参数

python httpx async客户端示例 python httpx async客户端示例 Jul 29, 2025 am 01:08 AM

使用httpx.AsyncClient可高效发起异步HTTP请求,1.基本GET请求通过asyncwith管理客户端并用awaitclient.get发起非阻塞请求;2.并发多个请求时结合asyncio.gather可显着提升性能,总耗时等于最慢请求;3.支持自定义headers、认证、base_url和超时设置;4.可发送POST请求并携带JSON数据;5.注意避免混用同步异步代码,代理支持需注意后端兼容性,适合用于爬虫或API聚合等场景。

优化用于内存操作的Python 优化用于内存操作的Python Jul 28, 2025 am 03:22 AM

pythoncanbeoptimizedFormized-formemory-boundoperationsbyreducingOverHeadThroughGenerator,有效dattratsures,andManagingObjectLifetimes.first,useGeneratorSInsteadoFlistSteadoflistSteadoFocessLargedAtasetSoneItematatime,desceedingingLoadeGingloadInterveringerverneDraineNterveingerverneDraineNterveInterveIntMory.second.second.second.second,Choos,Choos

SQLAlchemy 2.0 弃用警告及连接关闭问题解决指南 SQLAlchemy 2.0 弃用警告及连接关闭问题解决指南 Aug 05, 2025 pm 07:57 PM

本文旨在帮助 SQLAlchemy 初学者解决在使用 create_engine 时遇到的 "RemovedIn20Warning" 警告,以及随之而来的 "ResourceClosedError" 连接关闭错误。文章将详细解释该警告的原因,并提供消除警告以及修复连接问题的具体步骤和代码示例,确保你能够顺利地查询和操作数据库。

python shutil rmtree示例 python shutil rmtree示例 Aug 01, 2025 am 05:47 AM

shutil.rmtree()是Python中用于递归删除整个目录树的函数,能删除指定文件夹及其所有内容。1.基本用法:使用shutil.rmtree(path)删除目录,需处理FileNotFoundError、PermissionError等异常。2.实际应用:可一键清除包含子目录和文件的文件夹,如临时数据或缓存目录。3.注意事项:删除操作不可恢复;路径不存在时抛出FileNotFoundError;可能因权限或文件占用导致失败。4.可选参数:可通过ignore_errors=True忽略错

如何在Python中执行SQL查询? 如何在Python中执行SQL查询? Aug 02, 2025 am 01:56 AM

安装对应数据库驱动;2.使用connect()连接数据库;3.创建cursor对象;4.用execute()或executemany()执行SQL并用参数化查询防注入;5.用fetchall()等获取结果;6.修改后需commit();7.最后关闭连接或使用上下文管理器自动处理;完整流程确保安全且高效执行SQL操作。

数据工程ETL的Python 数据工程ETL的Python Aug 02, 2025 am 08:48 AM

Python是实现ETL流程的高效工具,1.数据抽取:通过pandas、sqlalchemy、requests等库可从数据库、API、文件等来源提取数据;2.数据转换:使用pandas进行清洗、类型转换、关联、聚合等操作,确保数据质量并优化性能;3.数据加载:利用pandas的to_sql方法或云平台SDK将数据写入目标系统,注意写入方式与批次处理;4.工具推荐:Airflow、Dagster、Prefect用于流程调度与管理,结合日志报警与虚拟环境提升稳定性与可维护性。

Python Psycopg2连接池示例 Python Psycopg2连接池示例 Jul 28, 2025 am 03:01 AM

使用psycopg2.pool.SimpleConnectionPool可有效管理数据库连接,避免频繁创建和销毁连接带来的性能开销。1.创建连接池时指定最小和最大连接数及数据库连接参数,确保连接池初始化成功;2.通过getconn()获取连接,执行数据库操作后使用putconn()将连接归还池中,禁止直接调用conn.close();3.SimpleConnectionPool是线程安全的,适用于多线程环境;4.推荐结合contextmanager实现上下文管理器,确保连接在异常时也能正确归还;

See all articles