2013-02-24 45 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

相關問題