向日期时间添加小时和秒会导致错误结果python3

时间:2018-08-05 01:06:25

标签: python-3.6 datetime-format python-datetime

我正在编写一个程序,该程序可以从用户那里获取日期,时间,英里和英里/小时。借助此信息,我将以道路行驶的指示速度计算估计的到达日期,估计的到达时间,估计的小时和分钟。

我接受了用户输入的日期和时间,并将两者合并为一个datetime。我遇到的问题是,当我使用deltatime将小时和分钟添加到日期时间时,得到的答案不正确。预计出发日期显示为提前几天,而该日期只能是几个小时。例如,如果我输入2018-08-13作为出发日期,输入10:30 am作为出发时间,则我得到的日期是2018-08-22和07:30 am。显然不正确,截止到9天。在不同的日期,我得到的天数也有所不同。

代码:

def calcMinutes(estimates, miles, mph):
    travTime = miles / mph
    minutes = travTime % 1
    minutes = round(minutes * 60)
    return minutes  

def calcHours(estimates, miles, mph):
    travTime = miles / mph
    hours = miles // mph
    return hours

def calcTravTime(estimates, hours, minutes): 
    #add time to date and time
    estArrivalTime = estimates + timedelta(hours = hours, minutes = minutes)
    estArrivalTime = str(estArrivalTime)
    estArrivalTime = datetime.strptime(estArrivalTime, '%Y-%m-%d %H:%M:%S') 
    return estArrivalTime

关于我在哪里出错的任何想法吗?我的逻辑有缺陷吗?

注意事项:如果我使用一个calc函数进行所有计算并返回小时,分钟和estArrivalTime,则日期和时间正确。但是,由于出现有关元组和字符串的错误,因此无法打印出需要的单个元素。

所需的输出: 时间:3 分钟:16 预计到达日期:2018-08-13 预计到达时间:1:30 pm

0 个答案:

没有答案