一种将数字转换为秒的方法
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
我知道这不是解释我想要实现的目标的最佳方式,但我会尝试通过定义我想要的输出来做到这一点。
上下文:对象在 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