ruby-on-rails - Rails 一天 12 小时 AM/PM 范围

标签 ruby-on-rails ruby datetime time

这是一个非常简单的问题,之前可能有人问过并回答过,但我什么也没找到。

无论如何,我需要一个 12 小时的范围/数组,比如中午 12 点到中午 11 点,中午 12 点到晚上 11 点。你可能明白了它的要点。现在我正在尝试做一个荒谬复杂的方法,涉及将 AM 映射到一个阵列,PM 到另一个阵列,然后将两个阵列连接在一起。必须有一种更简单的方法来做到这一点。

我知道 Rails time_select,但我需要一种不同于它提供的格式。有什么建议么?

澄清:所以我正在寻找的是 12-hour clock , 与 AM 和 PM。如果我想要一个 24 小时制的时钟,我可以执行 (0..24),然后就完成了。但是 12 小时制从 12 点到 11 点,然后从 12 点到 11 点。我很确定以前有人这样做过。

最佳答案

我同意@MrYoshi 的评论,格式化日期最简单的方法是.strftime(), 见RubyDoc对于所有可能的选项

例子:

Time.now.strftime("%I:%M %p")

输出:HH:MM AM

或者你真正要求的是:

Time.now.strftime("%I:00")

输出:HH:00

正如您提到的 time_select 我假设您希望将时间作为用户可选范围提供,因此请为 time_select( more options ) 尝试这些选项:

time_select 'game', 'game_time', {:minute_step => 60, :ampm => true}

也是之前的问题:Time select form helper with 12 hour format for Rails 3?

关于ruby-on-rails - Rails 一天 12 小时 AM/PM 范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18000432/

相关文章:

ruby-on-rails - 用 Ruby 显示字符串中的第一个单词

PHP DateTime 类命名空间

ruby-on-rails - 如何向 gem 中的现有类添加方法?

ruby-on-rails - 如何从 Rails 中的价格字段中删除 "$"和 ","

mysql - rails : How update a model without Table

ruby-on-rails - rails/设计 : Couldn't find User with 'id' =sign_out

ruby-on-rails - Rails Assets 管道 : how to create custom manifest file

ruby - 如何从 ruby block 中突破?

html - 如何使用输入日期时间?

sql - 如何从sql server 2008中的日期中仅提取年份?