如何在Python中将浮子转换为时间格式 - 分钟,秒和微秒

  • 本文关键字:格式 时间 分钟 转换 Python python
  • 更新时间 :
  • 英文 :


我正在使用Python中的游泳结果(来自外部XLS源),我需要将float转换为时间格式 - 分钟,秒和微秒 - 以执行和减法操作。我正在使用此功能:

from datetime import timedelta
def format_result(result):
    seconds = int(result)
    microseconds = int((result * 1000000) % 1000000)
    output = timedelta(0, seconds, microseconds)
    return output

当给定输入为131.39时,输出应为0:02:11.390000,但实际上是0:02:11.389999。如何在没有此精确错误的情况下正确转换此问题?

您需要做的就是将其转换为UTC时间,而format DateTime

>>> import datetime
>>> datetime.datetime.strftime(datetime.datetime.utcfromtimestamp(131.39), "%M:%S:%f")
'02:11:390000'

您需要做的事情,

import datetime
def format_result(result):
    date = datetime.datetime.utcfromtimestamp(result)
    output = datetime.datetime.strftime(date, "%M:%S:%f")
    return output
print format_result(131.39)

希望这会有所帮助。

我尝试过没有将其转换为 int,因为它给出了390000的外观。

from datetime import timedelta
def format_result(result):
    seconds = int(result)
    microseconds = (result * 1000000) % 1000000
    output = timedelta(0, seconds, microseconds)
    return output
print format_result(131.39)

最新更新