[英]Sort timestamps with javascript
我有一个 javascript 时间戳数组作为这样的字符串:
["6/10/2020 @ 10:1", "6/10/2020 @ 9:37", "6/10/2020 @ 12:1", "6/10/2020 @ 9:42", "6/10/2020 @ 12:2", "6/10/2020 @ 11:19", "6/10/2020 @ 10:50", "6/10/2020 @ 9:35", "6/10/2020 @ 9:36", "6/10/2020 @ 12:0"]
我试图对它们进行排序,但常规排序或反向排序都不能正常工作。 我怎么能做到?
如果你真的需要保持你发布的格式,你需要改变并改回来..你可以做这样的事情:
let strings = ["6/10/2020 @ 10:1", "6/10/2020 @ 9:37", "6/10/2020 @ 12:1", "6/10/2020 @ 9:42", "6/10/2020 @ 12:2", "6/10/2020 @ 11:19", "6/10/2020 @ 10:50", "6/10/2020 @ 9:35", "6/10/2020 @ 9:36", "6/10/2020 @ 12:0"];
let dates = strings.map(x=> {
let parts = x.split(" ");
let dateParts = parts[0].split("/");
let timeParts = parts[2].split(":");
return { date: new Date(dateParts[2],dateParts[1],dateParts[0],timeParts[0],timeParts[1]), string: x };
});
dates.sort( (x,y)=> x.date - y.date);
strings = dates.map(x=> x.string);
(这会保留原始格式,并允许您构建日期,但您希望格式是什么,您应该添加检查以确保日期字符串有效)
返回:
["3/5/2020 @ 9:35","3/5/2020 @ 9:36","3/5/2020 @ 9:37","3/5/2020 @ 9:42","3/5/2020 @ 10:1","3/5/2020 @ 10:50","3/5/2020 @ 11:19","3/5/2020 @ 12:0","3/5/2020 @ 12:1","3/5/2020 @ 12:2"]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.