如何将毫秒转换为 minutes:seconds 输出?
How to convert milliseconds to minutes:seconds output?
我想转换 毫秒 并得到 2:00 输出。
它应该看起来像歌曲的持续时间。
我正在尝试使用此代码:
import datetime
seconds = milliseconds/1000
b = int((seconds % 3600)//60)
c = int((seconds % 3600) % 60)
dt = datetime.time(b, c)
print(dt)
>>> 02:30:00
你还有别的想法吗?或者也许我应该更改我的代码。
编辑:
我用下面的代码解决了这个问题
ms = 194000
seconds, ms = divmod(ms, 1000)
minutes, seconds = divmod(seconds, 60)
print(f'{int(minutes):01d}:{int(seconds):02d}')
如果您使用的是日期时间,则您正在寻找 .strftime()
method!
"%M:%S" # minutes:seconds
您可以在此处找到 table 格式代码:https://docs.python.org/3/library/datetime.html#strftime-and-strptime-format-codes
不过,自己算一下可能更容易
>>> milliseconds = 105000
>>> total_seconds = int(milliseconds / 1000)
>>> minutes = int(total_seconds / 60)
>>> seconds = int(total_seconds - minutes * 60)
>>> print("{}:{:02}".format(minutes, seconds))
1:45
b
是分钟,c
是秒。但是 datetime.time()
的参数是 hours, minutes, seconds
。因此,您将分钟放在 hours
参数中,将秒放在 minutes
参数中。
使用
dt = datetime.time(0, b, c)
print(dt)
>>> 00:02:30
如果您不想要初始 00:
,请使用
print(dt.strftime('%M:%S'))
>>> import datetime
>>> print(datetime.timedelta(milliseconds=3200))
0:00:03.200000
使用简单的 divmod
怎么样?这样,分钟 > 59 是可能的,不需要导入,例如
milliseconds = 86400001 # a day and a millisecond... long song.
seconds, milliseconds = divmod(milliseconds, 1000)
minutes, seconds = divmod(seconds, 60)
print(f'{int(minutes):02d}:{int(seconds):02d}.{int(milliseconds):03d}')
# 1440:00.001
我想转换 毫秒 并得到 2:00 输出。 它应该看起来像歌曲的持续时间。
我正在尝试使用此代码:
import datetime
seconds = milliseconds/1000
b = int((seconds % 3600)//60)
c = int((seconds % 3600) % 60)
dt = datetime.time(b, c)
print(dt)
>>> 02:30:00
你还有别的想法吗?或者也许我应该更改我的代码。
编辑: 我用下面的代码解决了这个问题
ms = 194000
seconds, ms = divmod(ms, 1000)
minutes, seconds = divmod(seconds, 60)
print(f'{int(minutes):01d}:{int(seconds):02d}')
如果您使用的是日期时间,则您正在寻找 .strftime()
method!
"%M:%S" # minutes:seconds
您可以在此处找到 table 格式代码:https://docs.python.org/3/library/datetime.html#strftime-and-strptime-format-codes
不过,自己算一下可能更容易
>>> milliseconds = 105000
>>> total_seconds = int(milliseconds / 1000)
>>> minutes = int(total_seconds / 60)
>>> seconds = int(total_seconds - minutes * 60)
>>> print("{}:{:02}".format(minutes, seconds))
1:45
b
是分钟,c
是秒。但是 datetime.time()
的参数是 hours, minutes, seconds
。因此,您将分钟放在 hours
参数中,将秒放在 minutes
参数中。
使用
dt = datetime.time(0, b, c)
print(dt)
>>> 00:02:30
如果您不想要初始 00:
,请使用
print(dt.strftime('%M:%S'))
>>> import datetime
>>> print(datetime.timedelta(milliseconds=3200))
0:00:03.200000
使用简单的 divmod
怎么样?这样,分钟 > 59 是可能的,不需要导入,例如
milliseconds = 86400001 # a day and a millisecond... long song.
seconds, milliseconds = divmod(milliseconds, 1000)
minutes, seconds = divmod(seconds, 60)
print(f'{int(minutes):02d}:{int(seconds):02d}.{int(milliseconds):03d}')
# 1440:00.001