gpt4 book ai didi

python - 开始和结束时间到日期时间的字符串

转载 作者:太空宇宙 更新时间:2023-11-03 13:16:26 25 4
gpt4 key购买 nike

对于一个项目,我需要解析一些日期字符串。给出一个日期,即一周中的星期一,例如: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, 2015', "%b %d, %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, 2015', "%b %d, %Y").date()
>>> datetime.strptime('11:00AM', '%I:%M%p').time()
datetime.time(11, 0)
>>> datetime.combine(BoW, _)
datetime.datetime(2015, 2, 16, 11, 0)

关于python - 开始和结束时间到日期时间的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28546802/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com