3

我有一个工具集,可以将数据库中的所有内容存储为 UTC。在表单上,​​我有一个带有附加 jQuery 日期 + 时间选择器的文本字段。

在该文本字段中,日期时间戳(带 UTC 偏移量)将如下所示:

<%= f.text_field :report_time, :size => 22  %>
    2012-06-05 15:55:50

但是,我需要这种形式选择才能在 EST 中。所以我需要将它转换为表单,然后在提交表单时。此问题仅特定于执行“编辑”操作时(字段中已存在时间)。如果我做任何加法或减法,“UTC”会卡在表单文本字段的末尾:

@report.report_time = @report.report_time - 5.hours
=>2012-06-05 10:55:50 UTC

此时,我正在使用的 jQuery DateJS dateparse 函数将停止工作,因为它不理解保存日期时间的文本字段中的“UTC”文本。

如何获取 db UTC 时间并添加/减去小时数而不会在表单中删除“UTC”,或者如何删除 UTC offfest 信息,只留下原始 dateTime 信息?

我如何:

@report.report_time = @report.created_at - 5.hours
=>2012-06-05 10:55:50 UTC
#  do something here to strip " UTC" off the dateTime   ??
=>2012-06-05 10:55:50

谢谢你!导轨 2.3.5 / Ruby 1.8.7

4

1 回答 1

1

如果您不想要默认表示,请使用 strftime 函数直接设置字段的值。

<%= f.text_field :report_time, :size => 22, :value =>"...." %>

http://ruby-doc.org/stdlib-1.8.7/libdoc/date/rdoc/DateTime.html#method-i-strftime

您可能想查看此链接以获取有关如何使用表单构建器更自然地使用日期/时间的信息。

http://guides.rubyonrails.org/form_helpers.html#using-date-and-time-form-helpers

于 2012-06-07T17:16:46.837 回答