>我有一个表,其中包含一个名为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
但它似乎不起作用。
使用 strftime
设置时间字符串的格式 http://www.ruby-doc.org/stdlib-1.9.3/libdoc/date/rdoc/DateTime.html#method-i-strftime