JavaScript-按时间字符串排序
我不太擅长操纵字符串,需要一些帮助 我有一个函数,它接受2个div,得到一个段落,其中包含一个表示时间的字符串,格式如下: 2015年8月7日星期五下午18:21 或 2015年8月21日星期二上午10:45 作为两个例子。我想创建一个排序比较器函数,如果一个比另一个大,它将返回正确的数字,但我不确定如何提取数字可以是1或2位数长的天数,并且还考虑了确切的时间等 时间字符串是内部文本部分,我将其拆分为一个逗号,以便atime和btime是每个部分的数组 以下是我迄今为止所做的工作:JavaScript-按时间字符串排序,javascript,sorting,time,format,comparator,Javascript,Sorting,Time,Format,Comparator,我不太擅长操纵字符串,需要一些帮助 我有一个函数,它接受2个div,得到一个段落,其中包含一个表示时间的字符串,格式如下: 2015年8月7日星期五下午18:21 或 2015年8月21日星期二上午10:45 作为两个例子。我想创建一个排序比较器函数,如果一个比另一个大,它将返回正确的数字,但我不确定如何提取数字可以是1或2位数长的天数,并且还考虑了确切的时间等 时间字符串是内部文本部分,我将其拆分为一个逗号,以便atime和btime是每个部分的数组 以下是我迄今为止所做的工作: // for
// 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;
}
//格式:2015年8月7日星期五下午18:21
//时间[0]-->星期五
//atime[1]->2015年8月7日
//时间[2]->下午18:21
sortByTimeAdded函数(a,b){
var atime=(a.getElementsByClassName('timeAdded')[0].innerText.split(',');
var btime=(b.getElementsByClassName('timeAdded')[0].innerText.split(',');
/*如果(时间[1]btime[1]){
返回1;
}*/
返回0;
}
谢谢大家! 我建议使用Date.parse,我将在示例中显示:
var a = "Friday, 7 August 2015, 18:21 PM"
Date.parse(a.substring(0, a.length-3))
有了这个,你可以得到时间戳,你可以用来比较
如果需要date对象,只需将date.parse替换为date()我建议使用date.parse,我将在示例中显示:
var a = "Friday, 7 August 2015, 18:21 PM"
Date.parse(a.substring(0, a.length-3))
有了这个,你可以得到时间戳,你可以用来比较
如果需要date对象,只需将date.parse替换为date()我建议使用date.parse,我将在示例中显示:
var a = "Friday, 7 August 2015, 18:21 PM"
Date.parse(a.substring(0, a.length-3))
有了这个,你可以得到时间戳,你可以用来比较
如果需要date对象,只需将date.parse替换为date()我建议使用date.parse,我将在示例中显示:
var a = "Friday, 7 August 2015, 18:21 PM"
Date.parse(a.substring(0, a.length-3))
有了这个,你可以得到时间戳,你可以用来比较
如果您需要date对象,只需将date.parse替换为date()就可以了,这样您就可以按时间顺序对它们进行排序了吗?是的,我需要,只是不确定如何以及如何使其高效。
innerText
不是标准,Firefox不支持。最好使用textContent
。谢谢!我不知道。我最好修改一下我的一些旧代码:SSo你想按时间顺序排序吗?是的,我想,只是不确定如何以及如何使其高效。innerText
不是标准,Firefox不支持。最好使用textContent
。谢谢!我不知道。我最好修改一下我的一些旧代码:SSo你想按时间顺序排序吗?是的,我想,只是不确定如何以及如何使其高效。innerText
不是标准,Firefox不支持。最好使用textContent
。谢谢!我不知道。我最好修改一下我的一些旧代码:SSo你想按时间顺序排序吗?是的,我想,只是不确定如何以及如何使其高效。innerText
不是标准,Firefox不支持。最好使用textContent
。谢谢!我不知道。我最好修改一下我的一些旧代码:这绝对有助于我开始工作。谢谢你的提示!或者,如果对日期字符串执行new Date(),则会得到一个漂亮的js日期对象。对其调用getTime(),您将获得unix毫秒数。用它来直接比较整数,这真是太完美了。我没有意识到它能将所有文本转换成数字,比我能做的任何事情都要高效。再次感谢你。试着在结尾没有PM。我的意思是,日期的格式真的很糟糕,你不应该同时有24小时格式和PM。这不是一个就是另一个。这绝对有助于我开始。谢谢你的提示!或者,如果对日期字符串执行new Date(),则会得到一个漂亮的js日期对象。对其调用getTime(),您将获得unix毫秒数。用它来直接比较整数,这真是太完美了。我没有意识到它能将所有文本转换成数字,比我能做的任何事情都要高效。再次感谢你。试着在结尾没有PM。我的意思是,日期的格式真的很糟糕,你不应该同时有24小时格式和PM。这不是一个就是另一个。这绝对有助于我开始。谢谢你的提示!或者,如果对日期字符串执行new Date(),则会得到一个漂亮的js日期对象。对其调用getTime(),您将获得unix毫秒数。用它来直接比较整数,这真是太完美了。我没有意识到它能将所有文本转换成数字,比我能做的任何事情都要高效。再次感谢你。试着在结尾没有PM。我的意思是,日期的格式真的很糟糕,你不应该同时有24小时格式和PM。这不是一个就是另一个。这绝对有助于我开始。谢谢你的提示!或者,如果对日期字符串执行new Date(),则会得到一个漂亮的js日期对象。对其调用getTime(),您将获得unix毫秒数。用它来直接比较整数,这真是太完美了。我没有意识到它能将所有文本转换成数字,比我能做的任何事情都要高效。再次感谢你。试着在结尾没有PM。我的意思是,日期的格式真的很糟糕,你不应该同时有24小时格式和PM。不是这个就是那个。