从文本创建对象日期格式为Y-m-d H:i:s

时间:2012-11-06 11:34:36

标签: javascript datetime

我在jquery:

var start = '2012-11-10 13:10:13';

为什么这不起作用:

var date = new Date(start);

?如何在没有外部插件的情况下制作它?

3 个答案:

答案 0 :(得分:3)

这更正确一点:

var correctStart = '2012-11-10T13:10:13';
var date = new Date(correctStart);

引用Date.parseMDN)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);