9

我正在调试一个带有一些只能在 Chrome 中运行的功能的小应用程序。问题在于您选择日期和时间的日期选择器,日期选择器将其连接到日期时间字符串中。

无论如何,字符串看起来像这样:2012-10-20 00:00.

但是,现在使用它的 javascript 只接受字符串并用它初始化一个对象,如下所示:new Date('2012-10-20 00:00');

这导致 Firefox、IE 以及除 Chrome 之外的所有浏览器中的日期无效。我需要建议我如何最好地将这个日期字符串转换为 javascript 中的 Date 对象。我启用了 jQuery。

感谢您的圣人建议和更好的智慧。

4

4 回答 4

19

如果字符串格式始终如您所述,则拆分字符串并使用位,例如:

var s = '2012-10-20 00:00';
var bits = s.split(/\D/);
var date = new Date(bits[0], --bits[1], bits[2], bits[3], bits[4]);
于 2012-10-18T11:20:15.033 回答
6

这只是简化版本:

 var newDate = new Date('2015-04-07 01:00:00'.split(' ')[0]);
于 2015-04-07T02:30:23.853 回答
1

如果str = '2012-10-20 00:00'

new Date(str.split(' ')[0].split('-').join(',') + ',' + str.split(' ')[1].
split('-').join(','))

应该做的伎俩

于 2012-10-18T11:20:16.537 回答
-2

使用 parseExact 方法

var date = new Date.parseExact(dateString, "yyyy-mm-dd hh-mm");
于 2012-10-18T11:26:58.783 回答