我在jquery:
var start = '2012-11-10 13:10:13';
为什么这不起作用:
var date = new Date(start);
?如何在没有外部插件的情况下制作它?
答案 0 :(得分:3)
这更正确一点:
var correctStart = '2012-11-10T13:10:13';
var date = new Date(correctStart);
引用Date.parse
(MDN)doc:
或者,日期/时间字符串可以是ISO 8601格式。 从JavaScript 1.8.5 / Firefox 4开始,ISO 8601的一个子集是 支持的。例如,“2011-10-10”(仅限日期)或 “2011-10-10T14:48:00(日期和时间)可以传递和解析。
仍然,IE8不支持这种格式(如上所述here)。因此,我建议至少考虑使用外部库处理日期的可能性 - 特别是Moment.js。
答案 1 :(得分:0)
或者您可以尝试如下所示
var start = '10/11/2012 13:10:13';
var date = new Date(start);
这是有效的
答案 2 :(得分:0)
请参阅此JSFIDDLE DEMO
您必须将日期字符串从Y-m-d H:i:s
转换为Y/m/d H:i:s
,因为javascript无法识别该格式的日期字符串。
这样做:
var my_date = "2012-11-10 13:10:13";
my_date = my_date.replace(/-/g, "/"); //this will replace "-" with "/"
//alert(my_date);
var javascript_date = new Date(my_date);