加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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限定符.

然后,您可以使用datetime.datetime.combine()将该时间组件与日期组合:

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)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读