如何将分钟变为两位数?

时间:2015-05-16 18:37:10

标签: ruby time precision

即使将单个数字的答案分配给min_side变量,我也试图让分钟显示两位数。这可能是一个简单的答案,但我似乎无法让它发挥作用。

def time_conversion(minutes)
hour = minutes/60
min_side = minutes%60
min_side = %02d

time = "#{hour}:#{min_side}"

return time
end

puts time_conversion(360)

5 个答案:

答案 0 :(得分:3)

您可以使用sprintf

def time_conversion(minutes)
  hour = minutes / 60
  min_side = minutes % 60

  sprintf("%d:%02d", hour, min_side)
end

答案 1 :(得分:1)

您可以使用rjust添加零

@import

答案 2 :(得分:0)

你可以这样做:

 def time_conversion(minutes)
   "%d:%02d" % minutes.divmod(60)
 end

 puts time_conversion(360)
   #=> "6:00"

答案 3 :(得分:0)

def time_conversion(minutes)
    hour = minutes/60
    min_side = minutes%60

    "#{hour}:#{min_side < 10 ? "0#{min_side}" : min_side}"
end

顺便说一下,最后一行的后半部分不是评论。这是一个嵌套的字符串插值,这里的代码格式无法识别

答案 4 :(得分:0)

低可读性,原位perl'ish方式:)

time = "#{hour}:#{"0#{min_side}"[-2,2]}"

添加零并获得结果的最后两个字符。