
python如何把字符串转换成时间
用户关注问题
如何在Python中将日期时间字符串解析为datetime对象?
我有一个日期时间格式的字符串,想在Python中将其转换为datetime对象,应该使用什么方法?
使用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)
其中,第二个参数是字符串的时间格式,需要与字符串保持一致。
Python字符串转换成时间时如何处理不同格式?
遇到日期时间字符串格式不统一,比如有些是"2023/06/22 14:30",有些是"22-06-2023 14:30:00",如何将它们都转换成datetime对象?
根据具体字符串格式分别指定格式字符串
对于不同格式的时间字符串,需根据每种格式调用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,它能自动识别不同格式。
如何将字符串转换成时间后进行时间计算?
在Python中将字符串转换成时间类型后,如何进行时间差计算或者加减时间?
转换为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)
这样可以方便地做时间加减和比较操作。