use*_*027 0 python string int time
22:11 + 22:22 = 44:33
varible_A = ('22:11')
varible_B = ('22:11')
Run Code Online (Sandbox Code Playgroud)
左边的数字(22)是分钟,右边的数字(11)是秒
我正在尝试添加两个数字
total = 44:22
Run Code Online (Sandbox Code Playgroud)
这是一个奖金,但真的会帮助我*
有可能像时间一样对待数字......
varible_A = ('22:50')
varible_B = ('22:30')
Run Code Online (Sandbox Code Playgroud)
我想得到 45:20
代替
44:80
Run Code Online (Sandbox Code Playgroud)
使用datetime.timedelta()到持续时间模式:
from datetime import timedelta
def to_delta(value):
minutes, seconds = map(int, value.split(':'))
return timedelta(minutes=minutes, seconds=seconds)
var_a = to_delta('22:50')
var_b = to_delta('22:30')
var_a + var_b
Run Code Online (Sandbox Code Playgroud)
然后,您可以将timedelta()对象转回到分钟+秒表示:
def to_minutes_seconds(delta):
return '{:02.0f}:{:02.0f}'.format(*divmod(delta.total_seconds(), 60))
Run Code Online (Sandbox Code Playgroud)
演示:
>>> var_a = to_delta('22:50')
>>> var_b = to_delta('22:30')
>>> var_a + var_b
datetime.timedelta(0, 2720)
>>> to_minutes_seconds(var_a + var_b)
'45:20'
Run Code Online (Sandbox Code Playgroud)
或者,a的str()结果timedelta格式为HH:MM:SS:
>>> str(var_a + var_b)
'00:45:20'
Run Code Online (Sandbox Code Playgroud)
也可能适合您的需求.请注意,对于超过一小时的增量,str()和之间存在差异to_minutes_seconds(); 前者显示小时,分钟和秒,后者只显示分钟,分钟值可以超过60.代表超过24小时的Deltas获得额外的天数前缀:
>>> str(timedelta(minutes=65, seconds=10))
'1:05:10'
>>> to_minutes_seconds(timedelta(minutes=65, seconds=10))
'65:10'
>>> str(timedelta(minutes=(60*24)+1, seconds=10))
'1 day, 0:01:10'
Run Code Online (Sandbox Code Playgroud)