我有一个Time对象,其中包含分钟和秒钟,如" 05:37"。我想知道将其转换为以下格式的方法:" 5m 37s"。
答案 0 :(得分:0)
如果我们谈论的是Time对象,这很容易:
t=Time.now
puts "#{t.min}m #{t.sec}s"
=>15m 28s
如果你有一个字符串
s="05:37"
t=s.split(':').map{|i| i.to_i}
puts "#{t.first}m #{t.last}s"
=>5m 37s
或更短
s.split(':').map{|i| i.to_i}.join("m ")+"s"
答案 1 :(得分:0)
虽然我同意建议strftime
的评论,但您也可以使用gsub
:
"05:37".gsub(/(\d+):(\d+)/, '\1m \2s')
#=> "05m 37s"
如果你不想要前导零,那么很容易摆脱它。
答案 2 :(得分:0)
[your_time_object].strftime('%Mm %Ss').
有关详细信息,请尝试this
答案 3 :(得分:-2)
没关系得到它:
[(total_response_time.to_i / counter_for_response_time.to_i) / 60 % 60, (total_response_time.to_i / counter_for_response_time.to_i) % 60].map { |t| t.to_s.rjust(2,'0') }.join('m ')
对于任何想要在未来将其转换为此类的人。