在Python中将分钟和秒作为变量
我该如何在Python中存储小时/分钟/秒作为变量呢?
举个例子:
time = "01:30" # 1 minute and 30 seconds
time2 = time + 10 seconds
基本上,一个程序(使用FFMPEG)会决定何时开始播放一个音频文件,但这个时间可以在+-10秒内调整。我的问题是,我该如何存储这个值呢?
为了更清楚地说明我的问题:时间变量是“01:30”,这明显表示时间是1分钟30秒。我该如何在这个基础上加10秒,让变量变成10:40呢?显然,01:30+:00:10 不是解决办法。
1 个回答
2
把时间存储为一个整数,只表示秒数,然后用一个简单的函数把这个整数格式化成 ffmpeg的时间持续时间格式:
def format_duration(seconds):
minutes, seconds = divmod(seconds, 60)
hours, minutes = divmod(minutes, 60)
return '{:02d}:{:02d}:{:02d}'.format(hours, minutes, seconds)
示例:
>>> def format_duration(seconds):
... minutes, seconds = divmod(seconds, 60)
... hours, minutes = divmod(minutes, 60)
... return '{:02d}:{:02d}:{:02d}'.format(hours, minutes, seconds)
...
>>> duration = 170
>>> format_duration(duration)
'00:02:50'
>>> duration += 10
>>> format_duration(duration)
'00:03:00'