JavaScript - 按时间字符串排序

JavaScript - Sort by Time String

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

我有这个函数,它接受 2 个 div 并获取一个段落,该段落包含一个表示时间的字符串,其格式如下所示:

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

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

举2个例子。我想创建一个排序比较器函数,如果一个比另一个大,它将 return 正确的数字,但我不确定如何提取数字可以是 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.parse,我会在示例中展示:

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

有了这个你就可以得到时间戳,你可以用它来进行比较。

如果您需要日期对象,只需将 Date.parse 替换为 Date()