ruby-on-rails - 在Ruby on Rails中使用12小时时间和时区的time_select

标签 ruby-on-rails user-interface timezone time-select

我需要从Rails 2.3.8应用程序的用户捕获一个时间和时区,但一直无法想到一个干净的解决方案来创建和解析选择。

理想情况下,我将具有以下菜单:

  • 小时(1-12)
  • 分钟(0-59)
  • AM/PM
  • 时区

  • 有没有可以实现我所寻找的功能的gem/plugin?我是否需要将时间和时区都存储在数据库中?最佳的存储策略是什么?

    我最终将需要在UTC中吐出这些值,但是用户应该可以返回并查看正确时区中的时间。

    最佳答案

    您可以使用适当的方法来选择时区:

  • time_zone_options_for_select
  • time_zone_select

  • 同样,还有date_select作为日期。

    存储空间:

    如果时区特定于用户且未更改,则将其时区存储在用户记录中,并在加载current_user时进行设置。 Rails会将时间与UTC之间进行转换,并始终将UTC存储在数据库中,并为您自动将其转换为默认时区(包括夏令时!)。最简单的方法。

    use_zone(zone)允许您覆盖块的默认区域,因此您可以接受表单值并使用该函数进行设置,然后在该块中设置值。

    更新:我写了一些Rails timezone examples作为博客条目。

    关于ruby-on-rails - 在Ruby on Rails中使用12小时时间和时区的time_select,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3993619/

    相关文章:

    jquery - 如何将 <label for> 设置为位于表格单元格中的选择器的 id

    jquery文件选择事件触发?

    javascript - 获取两个 Date 对象之间的持续时间(以小时和分钟为单位) - JavaScript

    java - java/android中的不同日期

    ruby-on-rails - 使用 ruby​​ on Rails 向静态网站添加功能

    mysql - 有效地从多个 rails 模型创建 "feed"?

    .net - 测试大量使用 Gui 的 WPF 应用程序

    java - 如何在输入验证期间显示临时气球工具提示?

    c++ - Qt 没有找到 QStackedWidgets 的槽 setCurrentWidget

    java - 如何为 GMT+1 配置 spring 连接到 mysql 数据库