2013-02-24 97 views
0

我在这种格式的一些.xml文件中有一堆日期:2013-02-10 12:00(年,月,日,小时,分钟),我想创建一个Date对象它。字符串中包含非数字字符的数字数组使用Javascript

我在Chrome中做了new Date(stringFromXml),它可以工作,但它在Firefox/IE中不起作用。

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

我已经知道date.js,但我不想将另一个库添加到我的项目中。

我该怎么做才能做到这一点?此外,我正在使用jQuery

+0

http://docs.jquery.com/UI/Datepicker/parseDate – 2013-02-24 10:02:15

回答

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'); 
2

尝试Date.parse

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

'Nan''(不是数字) – Pacha 2013-02-24 10:02:23

+0

尽管日期必须是ISO-8601格式。 – marekful 2013-02-24 10:03:46

0

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

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

+0

谢谢,就是我在找的东西。 – Pacha 2013-02-24 10:08:35

+0

很高兴我能帮到你。如果这对你有用,请接受答案。 – Rob 2013-02-24 10:09:35

相关问题