收到的日期时间格式日期在rails中的格式不同

时间:2013-02-02 13:22:33

标签: ruby-on-rails ruby-on-rails-3 datetime datejs

我有一个表,其中包含一个名为DOB的列,其数据类型为DATETIME。问题是created_at也是一个日期时间,但它通过JSON接收的数据采用这种格式

"created_at":"2013-02-02 11:57:42",
"dob":"2013-02-18T18:30:00Z"

这两个日期的格式不同,但它们都有日期时间数据类型。 现在我正在使用Datejs

格式化不解析DOB格式的日期,它只能解析created_at格式。

我现在该怎么办?

这是我正在通过datejs解析的内容

        if(value.dob != null){
            alert(value.dob);
            d1 = Date.parse(value.dob);
            alert(d1);
            dob = d1.toString("M-d-yyyy");

        }

我在控制台上收到此错误:

: d1 is null
[Break On This Error]   

dob = d1.toString("M-d-yyyy");

我的控制器:

  def get_oi_report_contact
       @contactlist = CaseOiReportMap.select("rc.*").where("case_oi_report_maps.oireport_identifier = ?",identifier)
       .joins("LEFT JOIN case_oi_report_contacts_maps cm on cm.case_oi_report_map_id = case_oi_report_maps.id")
       .joins("LEFT JOIN oi_report_contacts rc on rc.id = cm.oi_report_contact_id ")
       respond_to do |format|
          format.json { render :json => @contactlist.to_json }
       end

  end 

我也使用过猴子补丁:

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

但它似乎不起作用。

1 个答案:

答案 0 :(得分:1)