开发者

How can I order datetime strings in Javascript?

I get from youtube JSON request (after a small parsing of the objects) these strings (which should represents datetime) :

2009-12-16T15:51:57.000Z
2010-11-04T10:01:15.000Z
2010-11-04T14:00:04.000Z
2010-11-04T11:12:36.000Z
2010-11-04T10:24:26.000Z
2010-11-04T12:05:58.000Z
2010-04-30T13:28:08.000Z
2010-11-17T13:57:27.000Z
开发者_JAVA百科

In fact I need to order these list (descending), for taking the recent video published. But how can I order those datetime? Is there a native method on JS?


You can just use a default sort method for this because the dates are perfectly formatted to do some sorting (year, month, day, hour, minute, second). This would be much more difficult if that was the other way around. Check out sort for example:

var unsortedArray = [ 
    "2009-12-16T15:51:57.000Z", 
    "2010-11-04T10:01:15.000Z", 
    "2010-11-04T14:00:04.000Z",
    "2010-11-04T11:12:36.000Z" ]; 

var sortedArray = unsortedArray.sort(); 

If you would like to reverse (descending) sorting, add .reverse() to the sorted array.


An easy way to achieve this would be to put all those into an array of strings and sort that array.

var arr = [ "2", "1", "3" ];
arr.sort(); // this gives [ "1", "2", "3" ]

You can read the full doc there :

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/array/sort


You asked for a descending sort. A quick way is to use reverse.

http://jsfiddle.net/6pLHP/

a = [
    "2009-12-16T15:51:57.000Z",
    "2010-11-04T10:01:15.000Z",
    "2010-11-04T14:00:04.000Z",
    "2010-11-04T11:12:36.000Z",
    "2010-11-04T10:24:26.000Z",
    "2010-11-04T12:05:58.000Z",
    "2010-04-30T13:28:08.000Z",
    "2010-11-17T13:57:27.000Z"
];
alert(JSON.stringify(a.sort().reverse()));
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜