在Python中将解析的时间与今天的日期相结合
发布时间:2020-05-25 09:22:22 所属栏目:Python 来源:互联网
导读:这应该很简单,但是 Python的日常时间过于复杂,使得简单的事情变得复杂…… 所以我有一个HH:MM格式的时间字符串(例如’09:30′),我想把它变成今天日期的日期时间.不幸的是,默认日期是1900年1月1日: datetime.datetime.strptime(time_str, %H:%M)datetime.da
|
这应该很简单,但是 Python的日常时间过于复杂,使得简单的事情变得复杂…… 所以我有一个HH:MM格式的时间字符串(例如’09:30′),我想把它变成今天日期的日期时间.不幸的是,默认日期是1900年1月1日: >>> datetime.datetime.strptime(time_str,"%H:%M") datetime.datetime(1900,1,9,50) datetime.combine看起来就像是这个意思,但如果我能弄清楚如何解析时间以便接受它,我会很高兴: now = datetime.datetime.now()
>>> datetime.datetime.combine(now,time.strptime('09:30','%H:%M'))
TypeError: combine() argument 2 must be datetime.time,not time.struct_time
>>> datetime.datetime.combine(now,datetime.datetime.strptime('09:30',not datetime.datetime
>>> datetime.datetime.combine(now,datetime.time.strptime('09:30','%H:%M'))
AttributeError: type object 'datetime.time' has no attribute 'strptime'
这种怪物有效…… >>> datetime.datetime.combine(now,datetime.time(*(time.strptime('09:30','%H:%M')[3:6])))
datetime.datetime(2014,23,30)
……但必须有更好的方法来做到这一点……!? 解决方法function signature说:datetime.combine(date,time) 所以传递一个datetime.date对象作为第一个参数,并将datetime.time对象作为第二个参数传递: >>> import datetime as dt
>>> today = dt.date.today()
>>> time = dt.datetime.strptime('09:30','%H:%M').time()
>>> dt.datetime.combine(today,time)
datetime.datetime(2014,30) (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
