在Python中将分钟和秒作为变量

-2 投票
1 回答
3947 浏览
提问于 2025-04-18 01:45

我该如何在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'

撰写回答