一种将数字转换成秒的方法

2024-04-29 13:54:17 发布

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

我知道这不是解释我想要实现什么的最佳方式,但我会通过定义我想要的输出来尝试。你知道吗

上下文:对象在6:58通过点A(格式为:分:秒)7点12分通过B点。计算从A点到B点所用的时间

从逻辑上讲,你会从A时间中抽出B时间来得到你的结果。我期望: 0.14因为对象需要14秒,但是得到了0.54,因为Python在默认情况下不知道我需要它以秒格式计算,在到达新的前导数之前,59是最大值。你知道吗

我的代码非常简单:

A=6.58
B=7.12
print(B-A)

Tags: 对象代码定义格式方式时间情况逻辑
1条回答
网友
1楼 · 发布于 2024-04-29 13:54:17

解决方案1:如果您不一定需要浮点作为输入

from datetime import datetime, date, time
a = datetime.combine(date.today(), time(0, 6, 58))
b = datetime.combine(date.today(), time(0, 7, 12))

解决方案2:如果您的输入是浮点数

from datetime import datetime, date, time

def float_to_datetime(myfloat):
    minutes, seconds = str(myfloat).split('.')
    return datetime.combine(date.today(), time(0, int(minutes), int(seconds)))

a = float_to_datetime(6.58)
b = float_to_datetime(7.12)

在这两种情况下,输出为:

print(b - a)
0:00:14
print((b-a).total_seconds())
14.0

相关问题 更多 >