2013-02-02 70 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 –