繁体   English   中英

如何计算python中两次(含)之间的时间间隔(以秒为单位)?

[英]How to calculate a time interval in seconds between two times (inclusive) in python?

我需要计算两次(包括)之间的时间间隔(以秒为单位)并将结果作为列表返回:例如

t1 = datetime.now()
# some code
t2 = datetime.now()

start_time = t1.strftime("%H:%M:%S") # 15:20:30
end_time = t2.strftime("%H:%M:%S")   # 15:20:33

def get_time_interval(s_time, e_time):
    # TODO

time_interval = get_time_interval(t1, t2)
print(time_interval) # ['15:20:30', '15:20:31', '15:20:32', '15:20:33']

有没有一种优雅的方法来解决这个问题,或者我是否必须计算开始和结束之间的差异并在开始时间的循环中添加每一秒(例如使用timedelta(seconds=i)

这可能是一种矫枉过正,但 pandas 有date_range方法,可让您指定开始、结束时间和频率并返回日期时间范围:

from datetime import datetime
import time
import pandas as pd
t1 = datetime.now()
time.sleep(3)
t2 = datetime.now()

def get_time_interval(s_time, e_time):
    return pd.date_range(s_time, e_time, freq='S').strftime("%H:%M:%S").tolist()

time_interval = get_time_interval(t1, t2)
print(time_interval) # ['22:16:31', '22:16:32', '22:16:33', '22:16:34']

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM