Python 连接2个时间字符串
我正在努力解决一个问题。我将日期和时间定义为以下格式的字符串Python 连接2个时间字符串,python,Python,我正在努力解决一个问题。我将日期和时间定义为以下格式的字符串 date1 = '2016-12-1' time1 = '10:30 AM' time2 = '11:30 PM' 我还有另一个字符串add_time='01:50'变量的类型是字符串 我要找的是: new_date_and_time = time1 + add_time 这样它就回来了 date1和new\u日期和时间 > 2016-12-1, 12:20 PM (10:30 AM + 1:50) 但是如果我添加time
date1 = '2016-12-1'
time1 = '10:30 AM'
time2 = '11:30 PM'
我还有另一个字符串add_time='01:50'
变量的类型是字符串
我要找的是:
new_date_and_time = time1 + add_time
这样它就回来了
date1和new\u日期和时间
> 2016-12-1, 12:20 PM (10:30 AM + 1:50)
但是如果我添加time2+add\u time
日期也会更改,
所以它应该打印2016-12-2,凌晨1:20
有任何包可以这样做吗?将字符串转换为
datetime
对象,然后使用timedelta
from datetime import datetime, timedelta
date1 = '2016-12-1'
time1 = '10:30 AM'
date_object = datetime.strptime(date1 + ' ' + time1, '%Y-%m-%d %I:%M %p')
new_date_object = date_object + timedelta(hours=1) + timedelta(minutes=50)
这个问题有点令人困惑。我想你要求的是将
date1
和time1
组合为datetime
,然后使用模块添加timedelta
?我误解了问题,我现在明白了。2016-12-2,凌晨1:20
是您想要的结果格式吗?一般来说,与isotime
或24小时制(例如2016-12-2 01:20:00
等)相比,这会使事情变得更复杂。roganjosh任何人都会很好。我原本以为他们想要timedelta
,但实际上这是一个硬编码的解决方案。我建议使用datetime.combine()
,然后使用一种无需硬编码的方式将add_time
解析为timedelta
。