Python3使用datetime计算时间?

Python3使用datetime计算时间?,datetime,python-3.5,Datetime,Python 3.5,我想输入开始和结束时间:日期和时间 我想计算两个日期之间经过的时间 试图理解datetime,date,time,timedelta。strtime/strftime 如果用户输入; 开始时间:2017年7月15日上午10:45 结束时间:2017年7月16日凌晨1:30 使用不同权重计算小时/分钟: 上午10:45->晚上9:00=10:15*2 9:00pm->1:30am=4:30*2.5 试过这样的方法: st_date = date(2017, 6, 15) st_time = tim

我想输入开始和结束时间:日期和时间 我想计算两个日期之间经过的时间

试图理解datetime,date,time,timedelta。strtime/strftime

如果用户输入; 开始时间:2017年7月15日上午10:45 结束时间:2017年7月16日凌晨1:30

使用不同权重计算小时/分钟: 上午10:45->晚上9:00=10:15*2 9:00pm->1:30am=4:30*2.5

试过这样的方法:

st_date = date(2017, 6, 15)
st_time = time(10, 45)
start = datetime.combine(st_date, st_time)

end_date = date(2017, 6, 15)
end_time = time(22, 30)
end = datetime.combine(end_date, end_time)

st = datetime.strftime(end, '%Y %B %d %I:%M %p')
et = datetime.strftime(start, '%Y %B %d %I:%M %p')
但这是完全错误的。我无法对strftime对象执行操作。你能给我指出正确的方向吗

我无法对strftime对象执行操作

strftime函数返回格式良好的字符串,而不是datetime对象。如果您要打印(st),您将获得2017年6月15日上午10:45

如果要获得两个datetime对象之间经过的时间,只需减去它们,如下所示:

from datetime导入日期
从日期时间导入时间
从日期时间导入日期时间
st_日期=日期(2017年6月15日)
st_时间=时间(10,45)
开始=日期时间。合并(st_日期,st_时间)
结束日期=日期(2017年6月15日)
结束时间=时间(22,30)
end=datetime.combine(结束日期,结束时间)
差异=结束-开始
这将生成一个对象。现在,如果您想要以秒为单位的运行时间,您可以执行以下操作:

已用时间=差异总秒数()
谢谢。日期(int(input()))