在Ruby on Rails中从范围生成格式化字符串数组

时间:2012-08-30 08:47:50

标签: ruby-on-rails ruby arrays date time

我正在处理Ruby on Rails应用程序。

为了接受教育,我想知道是否可以生成一系列格式化的字符串;在这种特殊情况下 - 小时和分钟。

我想得到以下数组:[“09:00”,“10:00”,“11:00”,“12:00”]来自(9..12).to_a等等?什么是最简单,最干净的方式?

很抱歉,如果这个问题很愚蠢。

提前致谢

3 个答案:

答案 0 :(得分:4)

使用rjust进行左边填充的类似内容。

(9..12).map{ |t| "#{t.to_s.rjust(2, '0')}:00" }
#=> ["09:00", "10:00", "11:00", "12:00"]

答案 1 :(得分:4)

(9..12).map{ |n| Time.new(0,1,1,n).strftime("%R") }

答案 2 :(得分:3)

(9..12).map{ |t| "%02d:00" % t }