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

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

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

用户关注问题

Q
如何在Python中将日期时间字符串解析为datetime对象?

我有一个日期时间格式的字符串,想在Python中将其转换为datetime对象,应该使用什么方法?

A

使用datetime.strptime方法解析字符串

在Python中,可以使用datetime模块中的strptime()方法将符合特定格式的字符串转换为datetime对象。例如,代码示例:

from datetime import datetime

str_time = '2023-06-22 14:30:00'
dt_object = datetime.strptime(str_time, '%Y-%m-%d %H:%M:%S')
print(dt_object)

其中,第二个参数是字符串的时间格式,需要与字符串保持一致。

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

遇到日期时间字符串格式不统一,比如有些是"2023/06/22 14:30",有些是"22-06-2023 14:30:00",如何将它们都转换成datetime对象?

A

根据具体字符串格式分别指定格式字符串

对于不同格式的时间字符串,需根据每种格式调用datetime.strptime并传入对应的格式参数。比如:

from datetime import datetime

str1 = '2023/06/22 14:30'
dt1 = datetime.strptime(str1, '%Y/%m/%d %H:%M')

str2 = '22-06-2023 14:30:00'
dt2 = datetime.strptime(str2, '%d-%m-%Y %H:%M:%S')

如果格式很多或者不固定,建议使用第三方库如dateutil.parser,它能自动识别不同格式。

Q
如何将字符串转换成时间后进行时间计算?

在Python中将字符串转换成时间类型后,如何进行时间差计算或者加减时间?

A

转换为datetime对象后使用timedelta模块做时间操作

字符串转换成datetime对象后,可以利用datetime和timedelta模块算时间差或加减时间。例如:

from datetime import datetime, timedelta

dt1 = datetime.strptime('2023-06-22 14:30:00', '%Y-%m-%d %H:%M:%S')
dt2 = datetime.strptime('2023-06-23 16:00:00', '%Y-%m-%d %H:%M:%S')
delta = dt2 - dt1
print('时间差为:', delta)

new_time = dt1 + timedelta(hours=5)
print('新增时间为:', new_time)

这样可以方便地做时间加减和比较操作。