有没有更有效的方法将毫秒转换为“ {minutes}:{seconds}”格式?

时间:2019-05-24 06:16:11

标签: python

这与this post不同。

我正在使用Python将毫秒转换为这种格式“ {minutes}:{seconds}”。

我已经实现了这种转换

duration_in_ms = 350001
x = duration_in_ms / 1000
seconds = x % 60
x /= 60
'{}:{}'.format(str(int(x)).zfill(2), round(seconds,3))

输出为

'05:50.001'

有没有更有效的方法?

2 个答案:

答案 0 :(得分:1)

您可以使用f字符串:

duration = 350001
minutes, seconds = divmod(duration / 1000, 60)

f'{minutes:0>2.0f}:{seconds:.3f}'

输出:

'05:50.001'

答案 1 :(得分:0)

去那里:

import datetime
duration_in_ms = 350001
print(datetime.datetime.fromtimestamp(duration_in_ms/1000.0).strftime('%M:%S.%f')[:-3])

示例:

Python 3.6.1 (default, Dec 2015, 13:05:11)
[GCC 4.8.2] on linux

> import datetime
> duration_in_ms = 350001
> print(datetime.datetime.fromtimestamp(duration_in_ms/1000.0).strftime('%M:%S.%f')[:-3])
05:50.001