计算两个时间戳之间的时间间隔(以分钟为单位)

2024-09-30 00:41:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个时间戳:

time1= "2020-01-25T01:47:35.431Z"
time2="2020-01-25T02:02:57.500Z"

我使用以下函数来计算两者之间的时间间隔,并以分钟为单位将其返回到两位小数

def app_run2_min_diff(time1,time2):
    time1= str(time1)
    time1datetime.strptime(time1,'%Y-%m-%dT%H:%M:%S.%fZ')
    time2= str(time2)
    time2=datetime.strptime(time2,'%Y-%m-%dT%H:%M:%S.%fZ')
    sec1=time1.strftime('%S')
    sec2=time2.strftime('%S')
    min_dif=round((float(sec2)-float(sec1)/60),2)
    return min_dif  

我的逻辑是先扣除第二个差值,然后换算成分钟。 我得到的最小dff是34.42,但正确答案是15.35。我上面的逻辑怎么了


Tags: 函数间隔时间逻辑floatminstrdif
1条回答
网友
1楼 · 发布于 2024-09-30 00:41:08

更简单的方法是通过简单地减去两个日期,将datetime.strptime对象转换为datetime.timedelta。然后,应用简单的算术将为您提供重用

from datetime import datetime

time1= "2020-01-25T01:47:35.431Z"
time2="2020-01-25T02:02:57.500Z"


def to_minutes(td):
    return td.days*1440 + td.seconds/60


def app_run2_min_diff(time1,time2):
    time1 = datetime.strptime(time1,'%Y-%m-%dT%H:%M:%S.%fZ')
    time2 = datetime.strptime(time2,'%Y-%m-%dT%H:%M:%S.%fZ')

    time_diff = time2 - time1
    
    min_dif = round(to_minutes(time_diff), 2)
    return min_dif

app_run2_min_diff(time1, time2)的结果将是:

15.37

相关问题 更多 >

    热门问题