我正在使用Python 2.7。我想用以下变量找到以分钟为单位的时差;
import datetime
#Time Format (YYYY-MM-DD HH-MM-SS)
TimeStart = '2014-06-30 13:23:46'
TimeEnd = datetime.datetime.now()
我想编写一个使用浮动数据类型返回以分钟为单位的时差的函数。如果时差为90秒,则函数返回1.5。这是我编写的函数,但不幸的是,它远没有奏效。
def getTimeDifferenceFromNow(TimeStart, TimeEnd):
timeDiff = TimeEnd - TimeStart
return divmod(timeDiff.days * 86400 + timeDiff.seconds, 60)
如何在Python 2.7中做到这一点?如果它与正确答案相距太远,就不用再写我写的函数了。
您需要先解析输入字符串,然后才能执行以下操作:
TimeStart = datetime.datetime.strptime(TimeStart, '%Y-%m-%d %H:%M:%S')
我会在致电之前这样做getTimeDifferenceFromNow()
。
减去两个datetime
对象后,timedelta
产生的对象便有了一个便捷的方法timedelta.total_seconds()
;用60除以分钟即可得到增量:
def getTimeDifferenceFromNow(TimeStart, TimeEnd):
timeDiff = TimeEnd - TimeStart
return timeDiff.total_seconds() / 60
演示:
>>> import datetime
>>> TimeStart = datetime.datetime(2014, 6, 30, 13, 23, 46)
>>> TimeEnd = datetime.datetime.now()
>>> TimeEnd
datetime.datetime(2014, 7, 1, 11, 31, 59, 134990)
>>> def getTimeDifferenceFromNow(TimeStart, TimeEnd):
... timeDiff = TimeEnd - TimeStart
... return timeDiff.total_seconds() / 60
...
>>> getTimeDifferenceFromNow(TimeStart, TimeEnd)
1328.2189165000002
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句