【发布时间】:2016-12-29 18:25:54
【问题描述】:
我使用 jbuilder 来输出我的数据。
但是,JS 中的日期看起来像这样2016-09-01T02:39:08.495Z
我怎样才能让 Rails 输出任何具有这种格式 2016-09-01 02:39 的日期时间类型字段,丢弃 JSON 输出中的时区信息。
似乎没有优雅的方法可以将此选项设为默认值。
也就是说,我需要手动将转换放入我想要为所有 jbuilder 模板转换的任何字段中。
【问题讨论】:
我使用 jbuilder 来输出我的数据。
但是,JS 中的日期看起来像这样2016-09-01T02:39:08.495Z
我怎样才能让 Rails 输出任何具有这种格式 2016-09-01 02:39 的日期时间类型字段,丢弃 JSON 输出中的时区信息。
似乎没有优雅的方法可以将此选项设为默认值。
也就是说,我需要手动将转换放入我想要为所有 jbuilder 模板转换的任何字段中。
【问题讨论】:
您始终可以使用格式: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"
【讨论】: