【问题标题】:Python : Comparing two times, and returning in minutesPython:比较两次,并在几分钟内返回
【发布时间】:2012-11-23 13:42:48
【问题描述】:

我有一个需要两个字符串(时间)的方法,例如15:01 该方法应该花时间做time1-time2,并在几分钟内返回给我一个新的时间。 例如。 15:53 - 15:59 应该给我6 minutes 但是我卡住了。

这是我的代码:

import datetime 
class timeCalc(object):
    def timeDiff(self,time1,time2):
        timeA = datetime.datetime.strptime(time1, "%H:%M")
        timeB = datetime.datetime.strptime(time2, "%H:%M")
        newTime = timeA - timeB

【问题讨论】:

  • 为什么卡住了? newTime 给你什么?当您探索该对象上可用的方法时会发生什么? (为什么要在这里定义一个类 - 为什么timeDiff 不只是一个函数?)
  • 它以一种非常奇怪的格式给了我结果。我想要几分钟的差异,然后当我在控制台中打印时,它会抛出一个错误

标签: python string class date time


【解决方案1】:

你的功能需要returnnewTime:

import datetime

def timeDiff(time1,time2):
    timeA = datetime.datetime.strptime(time1, "%H:%M")
    timeB = datetime.datetime.strptime(time2, "%H:%M")
    newTime = timeA - timeB
    return newTime.seconds/60   

print timeDiff('15:59','15:53'), 'minutes'

>>> 6 minutes

注意事项:

我认为你想要newTime = timeB - timeA 否则你必须像我一样倒退 过去。

【讨论】:

  • 要在几分钟内得到答案,您应该返回newTime.seconds/60
  • 感谢@olofom 将其添加到我的答案 +1 中
猜你喜欢
  • 1970-01-01
  • 2018-07-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-27
  • 1970-01-01
  • 2023-03-11
  • 2014-02-26
相关资源
最近更新 更多