追加匹配子字符串的字符串

时间:2013-04-22 06:24:51

标签: javascript date nan

我在格式化从Twitter API收到的字符串时遇到问题。我使用timeago插件并在IE 10中返回NaN。在搜索它之后,似乎是因为收到的时间格式如下:

  

Tue Apr 02 14:27:31 +0000 2013

而不是:

  

Tue Apr 02 14:27:31 2013 +0000

任何人都知道如果存在匹配的快速匹配方式,然后附加字符串(如果是的话)?

问候

3 个答案:

答案 0 :(得分:1)

您可以使用splicesplit方法来实现此目标。

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(" "));

答案 1 :(得分:0)

你可以这样做:

Var dateStr; // your date string
Var index = dateStr.indexOf('+'); 

If (index === dateStr.length-5) {
    // you're in format two, what you wanted 
}

需要注意的是,这个日期必须以您显示它的方式出现。

答案 2 :(得分:0)

使用正则表达式可以使用:

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将更改。 ;)