gpt4 book ai didi

regex - 将持续时间以秒为单位转换为小时和分钟并跳过空值

转载 作者:行者123 更新时间:2023-12-03 17:44:29 25 4
gpt4 key购买 nike

我们有一个持续时间(以秒为单位)值始终大于 60(1 分钟)的时间跟踪模型。
如果在小时或分钟开始时它们不为零且不为零,我需要将持续时间转换为小时和分钟。
例如:

duration1 = 63000  # expected value:  17 h 30 m
duration2 = 28800 # expected value: 8 h
duration3 = 1800 # expected value: 30 m
duration4 = 300 # expected value: 5 m
我几乎做到了,但是零值的小问题:
Time.at(duration1).utc.strftime('%H h %M m').sub!(/^0/, '') 
# 17 h 30 m

Time.at(duration2).utc.strftime('%H h %M m').sub!(/^0/, '')
# 8 h 00 m

Time.at(duration3).utc.strftime('%H h %M m').sub!(/^0/, '')
# 0 h 30 m

Time.at(duration4).utc.strftime('%H h %M m').sub!(/^0/, '')
# 0 h 05 m
感谢您的回答。

最佳答案

为什么不只是像这样简单的事情:

def to_hms(time)
hours = time / 3600
minutes = (time / 60) % 60

if (hours > 0 and minutes > 0)
'%d h %d m' % [ hours, minutes ]
elsif (hours > 0)
'%d h' % hours
elsif (minutes > 0)
'%d m' % minutes
end
end
这会产生所需的结果:
to_hms(63000)
# => "17 h 30 m"
to_hms(28800)
# => "8 h"
to_hms(1800)
# => "30 m"

关于regex - 将持续时间以秒为单位转换为小时和分钟并跳过空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66128211/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com