通过将字符串转换为日期格式来对 Javascript 日期进行排序

标签 javascript arrays string datetime sorting

<分区>

我如何将这些字符串转换为日期格式并相应地排序....请

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() 方法按升序对数组进行排序。

关于通过将字符串转换为日期格式来对 Javascript 日期进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4365116/

相关文章:

javascript - 首次单击后禁用单选按钮或分数增量

javascript - 指令通信时出错

javascript - 如果页面上存在字符串则执行函数

java - 如何使用 if 函数调用数组元素

java - Eclipse Java(非 Android)中的 Strings.xml 或 String 资源

r - 有没有办法在读取 Parquet 文件时处理嵌入的 null ?

javascript - 圆圈在 Canvas 中变形

python - 在python中将节点插入树中

python - 如何在 python 3.x 中使用 string.replace()

python - 将数组转换为 python 列表列表