python中如何把字符串换成时间

python中如何把字符串换成时间

作者:Joshua Lee发布时间:2026-01-14阅读时长:0 分钟阅读次数:4

用户关注问题

Q
如何将字符串格式的日期转换为Python的时间对象?

我有一个日期字符串,想在Python中转换成时间对象,该怎么做?

A

使用datetime模块中的strptime方法

可以使用Python中的datetime模块,调用datetime.datetime.strptime()方法,将日期字符串按照指定的格式转换为时间对象。例如:

from datetime import datetime

date_str = '2023-06-15 13:45:30'
date_obj = datetime.strptime(date_str, '%Y-%m-%d %H:%M:%S')
print(date_obj)

这将把字符串转换为datetime类型。

Q
如何处理不同格式的日期字符串转换成时间?

如果日期字符串格式不统一,比如有的带时分秒,有的只有日期部分,该如何转换?

A

根据字符串格式选择相应的转换格式

转换时需要根据字符串实际格式传入相应的格式符。例如只包含日期的字符串可以用'%Y-%m-%d',而包含具体时间的则用'%Y-%m-%d %H:%M:%S'。必要时,可以写代码判断字符串格式,再匹配对应的格式字符串,调用strptime进行转换。

Q
是否有其他库可以更方便地将字符串转换成时间?

除了datetime模块,有没有其他Python库可以更加灵活地处理字符串转时间的操作?

A

可以尝试使用dateutil库中的parser模块

python-dateutil库中提供了parser模块,可以自动解析多种日期字符串格式。例如:

from dateutil import parser

date_str = 'June 15, 2023 1:45 PM'
date_obj = parser.parse(date_str)
print(date_obj)

此方法不需要明确指定字符串格式,能自动识别。