我有格式化從Twitter API接收到的字符串的問題。即時通訊使用TIMEAGO插件和IE 10將返回NaN狩獵下來,似乎是因爲收到的時間被格式化,像這樣經過:附加字符串匹配子字符串
而不是星期二4月2日14時27分31秒+0000 2013
:
星期二4月2日14時27分31秒2013 +0000
任何人都知道匹配的快捷方式,如果這是存在,然後澳鵬如果它是字符串?
問候
我有格式化從Twitter API接收到的字符串的問題。即時通訊使用TIMEAGO插件和IE 10將返回NaN狩獵下來,似乎是因爲收到的時間被格式化,像這樣經過:附加字符串匹配子字符串
而不是星期二4月2日14時27分31秒+0000 2013
:
星期二4月2日14時27分31秒2013 +0000
任何人都知道匹配的快捷方式,如果這是存在,然後澳鵬如果它是字符串?
問候
您可以使用splice
和split
的方法來實現這一目標。
var time="Tue Apr 02 14:27:31 +0000 2013";
var arr = time.split(" ");
var year = arr.splice(arr.length-1,1);
arr.splice(arr.length-1,0, year[0]);
//console.log(arr.join(" "));
你可以這樣做:
Var dateStr; // your date string
Var index = dateStr.indexOf('+');
If (index === dateStr.length-5) {
// you're in format two, what you wanted
}
需要注意的是,這一日期已經進來你顯示它的方式。
使用正則表達式,你可以這樣做:
var originalDate = "Tue Apr 02 14:27:31 +0000 2013";
// find the last two number blocks and swap them
var reformattedDate = originalDate.replace(/ (\+[0-9]+) ([0-9]{4})$/, "$2 $1");
這將切換在原來的日期最後兩個數塊的位置。
此外,此方法不會更改與正則表達式不匹配的日期。如果您獲得的格式爲「2013 +0000」的originalDate,則將更改而不是。 ;)
工程就像一個魅力! – 2013-04-22 06:55:45
沒錯,只要你總是得到相同的輸入,這就行得通。如果輸入更改,則使用正則表達式更安全。 – Friederike 2013-04-22 06:59:31