gpt4 book ai didi

ruby-on-rails - 如何将此字符串转换为毫秒?

转载 作者:太空宇宙 更新时间:2023-11-03 16:17:51 26 4
gpt4 key购买 nike

我正在使用 Rails 4.2.7。我想计算给定持续时间的毫秒数,持续时间可能包括小时、分钟和秒。所以我写了这两个函数:

def convert_to_hrs(string)
if !string.nil?
string.strip!
case string.count(':')
when 0
'00:00:' + string.rjust(2, '0')
when 1
'00:' + string
else
string
end
else
"00:00:00"
end
end

def duration_in_milliseconds(input)
input = convert_to_hrs(input)
if input.match(/\d+:\d\d:\d\d\.?\d*/)
h, m, s = input.split(':').map(&:to_i)
(h.hours + m.minutes + s.seconds) * 1000
else
0
end
end

不幸的是,当我用像 8:49 这样的数字调用 duration_in_milliseconds(input) 时,结果是 0。结果应解释为 8 分 49 秒,以毫秒为单位为 529000。我该如何调整上述内容以解决这个问题?

最佳答案

我就把这个留在这里:

def convert_to_ms(string)
string.split(':').map(&:to_i).inject(0) { |a, b| a * 60 + b } * 1000
end

convert_to_ms('8:49')
#=> 529000

关于ruby-on-rails - 如何将此字符串转换为毫秒?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39811237/

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