Silentium Asked:2020-11-23 15:27:57 +0800 CST2020-11-23 15:27:57 +0800 CST 2020-11-23 15:27:57 +0800 CST 如何输出一组时间? 772 您需要输出从 9:00 到 00:00 的时间数组,如下所示 <% ((9:00)..(23:00)).map do |date| %> <%= date %> <% end %> 这可以以某种方式完成吗? ruby-on-rails 1 个回答 Voted Best Answer user181100 2020-11-23T18:18:33+08:002020-11-23T18:18:33+08:00 没有提供这种文字。 取决于您需要哪一步... ...如果是一个小时,那么您可以立即获得所需的表示形式(并在必要时将其转换为对象Time): (9..23).map { |h| "#{h}:00" } ...任何步骤(并获取对象Time): (Time.parse('9:00').to_i..Time.parse('23:00').to_i).step(3600) # в секундах .map { |ts| Time.at(ts) } ……有了 ActiveSupport,它甚至变得更漂亮了: (Time.parse('9:00').to_i..Time.parse('23:00').to_i).step(1.hour) .map { |ts| Time.at(ts) } 请注意,在 Ruby 中,该类Time仅适用于特定时刻,不仅是时钟值,还有基于日期的值。如果没有给出日期,.parse则假定为今天。但是在转换为字符串时,日期可以省略。
没有提供这种文字。
取决于您需要哪一步...
...如果是一个小时,那么您可以立即获得所需的表示形式(并在必要时将其转换为对象
Time
):...任何步骤(并获取对象
Time
):……有了 ActiveSupport,它甚至变得更漂亮了:
请注意,在 Ruby 中,该类
Time
仅适用于特定时刻,不仅是时钟值,还有基于日期的值。如果没有给出日期,.parse
则假定为今天。但是在转换为字符串时,日期可以省略。