我不太擅长操作字符串,需要一些帮助。
我有这个函数,它需要 2 个 div 并获取一个段落,其中包含一个表示时间的字符串,格式如下:
2015 年 8 月 7 日,星期五,晚上 18:21
或
2015 年 8 月 21 日,星期二,上午 10:45
作为 2 个示例。我想创建一个排序比较器函数,如果一个数字大于另一个数字,它将返回正确的数字,但我不确定如何提取数字可以为 1 或 2 位数字长的日期,并且还考虑到确切的时间等。 .
时间字符串是内部文本部分,我用逗号将其拆分,以便 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()
关于JavaScript - 按时间字符串排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31857561/