用json跟踪日期

fen*_*nec 24 activerecord json ruby-on-rails

我正在实现一个Facebook应用程序并使用AJAX/JSON.

但是,返回的JSON结构具有此格式2010-05-30T06:14:00Z.

我打电话给Game.all.to_json控制器动作.

如何将它们转换为正常的日期格式?

使用fbjs从服务器端或客户端更容易吗?fbjs有很多bug .

所以我更喜欢使用Server sideusing(Active Records)的解决方案.就像在发送JSON结构之前转换数据一样.

Gee*_*cko 47

我将自己的自定义格式添加到我返回的json的方式是将一个猴子补丁添加到ActiveSupport TimeWithZone类.

使用以下内容在config/initializers文件夹中添加文件:

class ActiveSupport::TimeWithZone
    def as_json(options = {})
        strftime('%Y-%m-%d %H:%M:%S')
    end
end
Run Code Online (Sandbox Code Playgroud)

  • 可能有助于为时区添加%z. (3认同)

Dre*_*ewB 7

随着时区在所有主流浏览器和ie + +中工作:

class ActiveSupport::TimeWithZone
  def as_json(options = {})
    strftime('%Y/%m/%d %H:%M:%S %z')
  end
end
Run Code Online (Sandbox Code Playgroud)


iGb*_*nam 6

Rails 现在拥有.as_jsonDateTime对象的方法。生活变得更轻松。