我如何将这些字符串转换为日期格式并相应地排序....请
2010-11-08 18:58:50.0_getCreated_10180
2010-11-09 17:49:42.0_getCreated_10180
2010-11-09 17:49:42.0_getCreated_10180
2010-11-24 19:44:51.0_getCreated_10180
2010-11-09 13:54:46.0_getCreated_10180
2010-11-23 20:06:29.0_getCreated_10180
2010-11-23 20:06:04.0_getCreated_10180
2010-11-15 17:51:37.0_getCreated_10180
提前致谢,
约瑟夫
如果你在一个字符串中有这个,那么就这样做。
// first create an array by splitting the string at the newlines
var list = dateString.split('\n');
list = list
.map( // for each element in the list (each date)
function(val,idx){
// use the first part(before the dot(.)), replace the - with spaces and convert to date
return new Date(val.split('.')[0].replace(/-/g,' '));
})
.sort(); // at the end sort the results.
例子在 http://www.jsfiddle.net/gaby/rfGv8/
我们需要为每个日期(行)做的是
2010-11-08 18:58:50.0_getCreated_10180(删除 . 之后的部分)
用 val.split('.')[0]
完成
然后将 - 替换为空格,使其看起来像 2010 11 08 18:58:50
,这是 Date
构造函数可接受的日期格式。
完成 val.split('.')[0].replace(/-/g,' ')
然后将其作为参数传递给Date的构造函数,创建一个Date对象
完成 new Date(val.split('.')[0].replace(/-/g,' '))
将上述方法应用于所有元素并获得新数组后,使用 .sort()
方法按升序对数组进行排序。