我有以下时间:
1456
14分56秒 我需要转换为时间和格式如下:14时56分
如果是几个小时:
6500
01:05
我怎么能用ruby / rails做到这一点? 我正在寻找解决方案,但我不能。
答案 0 :(得分:1)
更新(考虑@ eiko'评论),此代码将处理任何(正)整数(低于60*24*100
):
def custom_duration_to_hours_mn_sec_str(duration)
min, sec = duration.divmod(100)
total_in_seconds = min.minutes + sec.seconds
Time.at(total_in_seconds).utc.strftime("%H:%M:%S")
end
custom_duration_to_hours_mn_sec_str(56) # 56 seconds
# => "00:00:56"
custom_duration_to_hours_mn_sec_str(1456) # 14 mn 56 seconds
# => "00:14:56"
custom_duration_to_hours_mn_sec_str(12056) # 120 mn 56 seconds
# => "02:00:56"
限制:如果持续时间超过60*24
分钟(24小时内的分钟数),它将再次开始到00:00:00'因此忽略了天数。
custom_duration_to_hours_mn_sec_str(60*24*100) # *100 to add the zeros for seconds
# => "00:00:00"