来自Javascript中包含非数字字符的字符串的数字数组

时间:2013-02-24 09:57:46

标签: javascript date

我在这些格式的一些.xml文件中有一堆日期:2013-02-10 12:00(年,月,日,小时,分钟),我想从中创建一个Date对象。

我在Chrome中做了new Date(stringFromXml)并且它可以正常工作,但它在Firefox / IE中无效。

我想要做的是将该字符串拆分为5个元素数组,并使用接受年,月,日等的构造函数手动创建Date对象。事情是我无法制作它适用于正则表达式,.split不是最优雅的解决方案。

我已经了解date.js但我不想在我的项目中添加另一个库。

我该怎么做才能使这项工作成功?另外,我使用的是jQuery

3 个答案:

答案 0 :(得分:2)

尝试Date.parse

var date = Date.parse(" date string here ");

答案 1 :(得分:0)

这应该让你走上正确的道路......

var dateParts = date.split(/(-| |:)/);

答案 2 :(得分:0)

如果格式始终相同,您可以像这样一起破解:

var parts = '2013-02-10 12:00'.split(/[: -]/);
var d = new Date(
    parts[0] /* year */, parts[1] /* month */, parts[2] /* day */, 
    parts[3] /* hour */, parts[4] /* minute */
);

如果您已拥有Datepicker窗口小部件,则可以使用日期选择器扩展程序中的parseDate()功能:

var date = $.datepicker.parseDate('yy-mm-dd hh:mm', '2013-02-10 12:00');