JavaScript -按时间字符串排序

JavaScript - Sort by Time String

本文关键字:字符串 排序 时间 JavaScript      更新时间:2023-09-26

我不太擅长操作字符串,需要一些帮助。

我有这个函数,它需要2div,并获得一个段落,其中包含一个字符串,表示时间的格式,看起来像这样:

星期五,2015年8月7日,18:21 PM

星期二,2015年8月21日,10:45 AM

作为2个例子。我想创建一个排序比较器函数,如果一个比另一个大,它将返回正确的数字,但我不确定如何提取天数,当数字可以是1或2位数长,也考虑到确切的时间等。

时间字符串是innerText部分,我在那里分割了一个逗号,以便atime和btime是每个部分的数组。

到目前为止我所做的是:

// format: Friday, 7 August 2015, 18:21 PM
// atime[0] --> Friday
// atime[1] -->  7 August 2015
// atime[2] -->  18:21 PM
function sortByTimeAdded(a, b) {
    var atime = (a.getElementsByClassName('timeAdded')[0].innerText).split(',');
    var btime = (b.getElementsByClassName('timeAdded')[0].innerText).split(',');
    /*if (atime[1] < btime[1]) {
        return -1;
    }
    if (atime[1] > btime[1]) {
        return 1;
    }*/
    return 0;
}

谢谢!

我建议使用Date。解析,我将展示一个示例:

var a = "Friday, 7 August 2015, 18:21 PM"
Date.parse(a.substring(0, a.length-3))
使用

,您可以获得用于比较的时间戳。

如果你需要date对象,只需替换date。parse with Date()