【问题标题】:Customize datetime format for all datetime fields in JSON response自定义 JSON 响应中所有日期时间字段的日期时间格式
【发布时间】:2016-12-29 18:25:54
【问题描述】:

我使用 jbuilder 来输出我的数据。

但是,JS 中的日期看起来像这样2016-09-01T02:39:08.495Z 我怎样才能让 Rails 输出任何具有这种格式 2016-09-01 02:39 的日期时间类型字段,丢弃 JSON 输出中的时区信息。

似乎没有优雅的方法可以将此选项设为默认值。

也就是说,我需要手动将转换放入我想要为所有 jbuilder 模板转换的任何字段中。

【问题讨论】:

标签: ruby-on-rails jbuilder


【解决方案1】:

您始终可以使用格式:Time.zone.now.strftime("%Y-%m-%d %H:%m")

如果您打算在 Rails 应用程序的许多地方使用它,您可以添加以下内容。到您的config/application.rb 文件:

class Time
  def without_timezone
    self.strftime("%Y-%m-%d %H:%m")
  end
end

然后,您可以在 Rails 应用程序的任何位置(包括 jbuilder)中的 Time 对象上调用 without_timezone 方法。

Time.zone.now
> Tue, 23 Aug 2016 19:59:17 UTC +00:00
Time.zone.now.without_timezone
> "2016-08-23 20:08"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-11
    相关资源
    最近更新 更多