python – 具有开始和结束时间到日期时间的字符串
发布时间:2020-12-20 11:40:43 所属栏目:Python 来源:网络整理
导读:对于一个项目,我需要解析一些日期字符串.给出一个日期,即一周的星期一,例如:2015年2月16日. 然后,我设法提取了一个如下所示的日期列表: ['Wednesday','11:00AM','7:00PM'] ['Friday','10:15AM','4:30PM'] ['Sunday','12:00AM','5:00PM'] 第一个值显然是第
对于一个项目,我需要解析一些日期字符串.给出一个日期,即一周的星期一,例如:2015年2月16日.
然后,我设法提取了一个如下所示的日期列表: ['Wednesday','11:00AM','7:00PM'] ['Friday','10:15AM','4:30PM'] ['Sunday','12:00AM','5:00PM'] 第一个值显然是第一天,第二个值是开始时间,最后一个值是结束时间(它是事件的结束时间). 我想将其转换为实际的python datetime对象,但它必须与开始日期一致. 我到目前为止尝试使用的是: # Beginning of week BoW = datetime.strptime('Feb 16,2015',"%b %d,%Y") # List of days for day in days: # Find the Day of the Week # This outputs a number,0 = Monday,6 = Sunday DoW = table.index(tr) schedule.append({ 'start' : BoW + timedelta(days=DoW),'end' : BoW + timedelta(days=DoW) }) 如您所见,这只会成功设置日期,而不是小时/分钟.有没有办法轻松实现这一目标? 解决方法
您也可以使用strptime()解析时间:
timevalue = datetime.strptime(timecomponent,'%I:%M%p').time() %I是12小时制时钟值(因此在1到12之间),%p是AM或PM限定符. 然后,您可以使用 BoW = datetime.strptime('Feb 16,%Y").date() start = datetime.strptime(start_time,'%I:%M%p').time() end = datetime.strptime(end_time,'%I:%M%p').time() start,end = datetime.combine(BoW,start),datetime.combine(BoW,end) 演示: >>> from datetime import datetime,timedelta >>> BoW = datetime.strptime('Feb 16,%Y").date() >>> datetime.strptime('11:00AM','%I:%M%p').time() datetime.time(11,0) >>> datetime.combine(BoW,_) datetime.datetime(2015,2,16,11,0) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |