python秒数转化为时间格式,如何在Python中将时间格式转换成毫秒?

The reason is because I'm making a script to work with ffmpeg and I need to be able to add/subtract time in the format 00:00:00[.000]

The last 3 digits are optional and they mean milliseconds. A time string could look like any of the following

4:34.234

5.000

2:99:34

4:14

This would be easier if a lot of the digits weren't optional. But since they are, I'm thinking I have to use some sort of regex to parse it?

解决方案

From string to milliseconds:

s = "4:34.234"

hours, minutes, seconds = (["0", "0"] + s.split(":"))[-3:]

hours = int(hours)

minutes = int(minutes)

seconds = float(seconds)

miliseconds = int(3600000 * hours + 60000 * minutes + 1000 * seconds)

From milliseonds to string:

hours, milliseconds = divmod(miliseconds, 3600000)

minutes, milliseconds = divmod(miliseconds, 60000)

seconds = float(milliseconds) / 1000

s = "%i:%02i:%06.3f" % (hours, minutes, seconds)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值