我有两个时间,开始时间和停止时间,格式为10:33:26 (HH:MM:SS)。我需要知道两次的差值。我一直在查阅Python文档并在网上搜索,我可以想象它与datetime和/或time模块有关。我不能让它正常工作,一直在寻找如何在约会时做到这一点。
最后,我需要计算多个时间持续时间的平均值。我得到了时差,我把它们存储在一个列表中。现在我需要计算平均值。我用正则表达式来解析出原始时间,然后求出差异。
对于平均,我应该转换成秒然后平均吗?
我有两个时间,开始时间和停止时间,格式为10:33:26 (HH:MM:SS)。我需要知道两次的差值。我一直在查阅Python文档并在网上搜索,我可以想象它与datetime和/或time模块有关。我不能让它正常工作,一直在寻找如何在约会时做到这一点。
最后,我需要计算多个时间持续时间的平均值。我得到了时差,我把它们存储在一个列表中。现在我需要计算平均值。我用正则表达式来解析出原始时间,然后求出差异。
对于平均,我应该转换成秒然后平均吗?
当前回答
这个网站建议你试试:
import datetime as dt
start="09:35:23"
end="10:23:00"
start_dt = dt.datetime.strptime(start, '%H:%M:%S')
end_dt = dt.datetime.strptime(end, '%H:%M:%S')
diff = (end_dt - start_dt)
diff.seconds/60
这个论坛使用time.mktime()
其他回答
试试这个
import datetime
import time
start_time = datetime.datetime.now().time().strftime('%H:%M:%S')
time.sleep(5)
end_time = datetime.datetime.now().time().strftime('%H:%M:%S')
total_time=(datetime.datetime.strptime(end_time,'%H:%M:%S') - datetime.datetime.strptime(start_time,'%H:%M:%S'))
print total_time
输出:
0:00:05
在Python中表示时间差的结构称为timedelta。如果你有start_time和end_time作为datetime类型,你可以使用-运算符计算两者的差异:
diff = end_time - start_time
你应该在转换成特定的字符串格式(例如。之前start_time.strftime(…))。如果您已经有字符串表示,您需要使用strptime方法将其转换回时间/日期时间。
试试这个方法吧——它对安排短期事件很有效。如果某些内容花费了一个多小时,那么最终的显示可能需要一些友好的格式。
import time
start = time.time()
time.sleep(10) # or do something more productive
done = time.time()
elapsed = done - start
print(elapsed)
时间差以经过的秒数返回。
你可以用摆锤:
import pendulum
t1 = pendulum.parse("10:33:26")
t2 = pendulum.parse("10:43:36")
period = t2 - t1
print(period.seconds)
将输出:
610
import datetime
day = int(input("day[1,2,3,..31]: "))
month = int(input("Month[1,2,3,...12]: "))
year = int(input("year[0~2020]: "))
start_date = datetime.date(year, month, day)
day = int(input("day[1,2,3,..31]: "))
month = int(input("Month[1,2,3,...12]: "))
year = int(input("year[0~2020]: "))
end_date = datetime.date(year, month, day)
time_difference = end_date - start_date
age = time_difference.days
print("Total days: " + str(age))