猿问

如何将某个时间添加到日期时间?

我想将小时数添加到 adatetime并使用:

date = date_object + datetime.timedelta(hours=6)

现在我想添加一个时间:(
time='-7:00'字符串)加上 4 小时。

我试过hours=time+4了,但这不起作用。我想我必须int像这样的字符串,int(time)但这也不起作用。


一只萌萌小番薯
浏览 293回答 2
2回答

月关宝盒

最好像下面那样解析时间并访问日期时间属性以从解析的日期时间对象中获取时间组件 input_time = datetime.strptime(yourtimestring,'yourtimeformat') input_seconds = input_time.second # for seconds input_minutes = input_time.minute # for minutes input_hours = input_time.hour     # for hours # Usage: input_time = datetime.strptime("07:00","%M:%S")休息一下,你有datetime.timedelta办法组成持续时间。new_time = initial_datetime + datetime.timedelta(hours=input_hours,minutes=input_minutes,seconds=input_seconds)

Qyouu

您需要转换为 datetime 对象才能将 timedelta 添加到当前时间,然后将其返回到时间部分。使用date.today()只是使用任意当前日期并将时间设置为您提供的时间。这允许您添加天数并将时钟重置为 00:00。dt.time() 打印出您正在寻找的结果。from datetime import date, datetime, time, timedeltadt = datetime.combine(date.today(), time(7, 00)) + timedelta(hours=4)print dt.time()编辑: 从字符串中获取time='7:00'可以在冒号上拆分的内容,然后引用每个内容。this_time = this_time.split(':')   # make it a list split at :this_hour = this_time[0]this_min = this_time[1]编辑2: 然后将它们重新组合在一起:from datetime import date, datetime, time, timedeltathis_time = '7:00'this_time = this_time.split(':')   # make it a list split at :this_hour = int(this_time[0])this_min = int(this_time[1])dt = datetime.combine(date.today(), time(this_hour, this_min)) + timedelta(hours=4)print dt.time()如果您已经有一个完整的日期可以使用,如评论中所述,您应该使用strptime将其转换为日期时间。我认为另一个答案会介绍如何使用它,所以我不打算举个例子。
随时随地看视频慕课网APP

相关分类

Python
我要回答