我有两次这样的事 08:00:00 - 10:00:00 想要在两分钟内计算这两次的持续时间? 需要回答像 120分钟
答案 0 :(得分:0)
from datetime import datetime
time1 = '08:00:00'
time2 = '10:00:00'
format = '%H:%M:%S'
tdelta = datetime.strptime(time2, format) - datetime.strptime(time1, format)
答案 1 :(得分:0)
对于日期时间变量,您应该使用pendulum
。安装pendulum
并导入它。然后你的代码就像
import pendulum
duration = '08:00:00 - 10:00:00'
duration = duration.split("-")
start = pendulum.parse(duration[0].strip())
finish = pendulum.parse(duration[1].strip())
minutes = (finish - start).in_minutes()
print(minutes)
输出:
120
答案 2 :(得分:0)
from datetime import datetime
time_local = datetime.now()
time_utc = datetime.utcnow()
print(time_local) # 2018-05-31 08:15:18.303388
print(time_utc) # 2018-05-31 06:15:18.303388
time_delta = time_utc - time_local
print(repr(time_delta)) # datetime.timedelta(-1, 79200)
time_delta_in_hours = int(time_delta.total_seconds() / 3600)
print(time_delta_in_hours) # -2
如果你想知道如何转换像" 08:00:00"到datetime对象,请参阅Suhas Bachhav post above
有关timedelta对象的更多信息,请参阅official documentation
答案 3 :(得分:0)
您可以执行以下程序:
import datetime
time_1 = datetime.datetime(2018, 5, 5, 12, 5, 1)
time_2 = datetime.datetime(2018, 5, 5, 14, 5, 1)
new_time = time_2 - time_1
seconds = new_time.total_seconds()
time = seconds / 60
print(int(time))
时差是两个小时,类似于你所要求的。 python 2.7或更高版本中的timedelta对象具有总秒数方法。因此,在减去两次之后,你会得到一个timedelta对象。你可以对它执行total_seconds()方法,然后明显除以60得到分钟。然后,您可以打印该结果,您将找到两次之间的总分钟数:
120