在Python中将解析的时间与今天的日期相结合

在Python中将解析的时间与今天的日期相结合,第1张

概述这应该很简单,但是 Python的日常时间过于复杂,使得简单的事情变得复杂…… 所以我有一个HH:MM格式的时间字符串(例如’09:30′),我想把它变成今天日期的日期时间.不幸的是,默认日期是1900年1月1日: >>> datetime.datetime.strptime(time_str, "%H:%M")datetime.datetime(1900, 1, 1, 9, 50) datet 这应该很简单,但是 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)
总结

以上是内存溢出为你收集整理的在Python中将解析的时间与今天的日期相结合全部内容,希望文章能够帮你解决在Python中将解析的时间与今天的日期相结合所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1204978.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存