2013-02-02 72 views
0

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

"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

它必须是通过JavaScript作为我使用Ajax和JSON接收数据。 –

+0

我想我误解了你的要求。你试图解析“dob”:“2013-02-18T18:30:00Z”使用datejs?如果情况如此,你怎么设定dob? – jvnill

+0

对不起,我没有得到你..你是指我如何插入?或dob列数据类型?有一件事DOB数据类型是DATETIME,它以这种格式存储2013-02-02 19:09:14 –