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

A way to convert numbers to seconds

我知道这不是解释我想要实现的目标的最佳方式,但我会尝试通过定义我想要的输出来做到这一点。

上下文:对象在 6:58 处通过 A 点(格式为:minute:second)并在 7:12 处通过 B 点。计算从 A 点到 B 点所花费的时间。

从逻辑上讲,您需要将 A 时间减去 B 时间才能得到结果。我期望: 0.14 因为它花费了对象 14 秒但是得到了 0.54 因为默认情况下 Python 不知道我需要它以秒格式计算,其中 59 在你到达之前是最大的新的领先数字。

我的代码很简单:

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

解决方案 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