js时间比较大小

千万注意

必须new Date("2023-06-16 00:00:00") 不能new Date("2023-06-16"),因为

new Date("2023-06-16").getTime()== new Date("2023-06-16 08:00:00").getTime()

这个和时区有关系

new Date("2023-06-16")其实是new Date("2023-06-16 08:00:00")

千万注意

ios转换时间戳的时候对时间的数据格式是有要求的 2019-8-5 12:18:35 对于ios是无法识别的,必须转换成 2019/8/5 12:18:35 才可以正常获取时间对象

所以需要用replace(/-/g,'/')

 

1. 使用比较运算符(例如 `<`, `>`, `<=`, `>=`)比较两个 `Date` 对象:  

var date1 = new Date("2023-06-16 00:00:00".replace(/-/g,'/'));

var date2 = new Date("2023-06-16 08:00:00".replace(/-/g,'/'));


if (date1 < date2) {
console.log("date1 小于 date2");
} else if (date1 > date2) {
console.log("date1 大于 date2");
} else {
console.log("date1 等于 date2");
}

2. 使用 `getTime()` 方法获取两个日期的时间戳(自1970年1月1日以来的毫秒数),然后比较时间戳的大小:  

var date1 = new Date("2023-06-16 00:00:00".replace(/-/g,'/'));
var date2 = new Date("2023-06-16 08:00:00".replace(/-/g,'/'));
if (date1.getTime() < date2.getTime()) {
console.log("date1 小于 date2");
} else if (date1.getTime() > date2.getTime()) {
console.log("date1 大于 date2");
} else {
console.log("date1 等于 date2");
}

3. 使用 `valueOf()` 方法获取日期的时间戳,并进行比较:  

var date1 = new Date("2023-06-16 00:00:00".replace(/-/g,'/'));
var date2 = new Date("2023-06-16 08:00:00".replace(/-/g,'/'));
if (date1.valueOf() < date2.valueOf()) {
console.log("date1 小于 date2");
} else if (date1.valueOf() > date2.valueOf()) {
console.log("date1 大于 date2");
} else {
console.log("date1 等于 date2");
}



posted on 2023-09-21 15:31  ranyonsue  阅读(1001)  评论(0编辑  收藏  举报

导航