js时间比较大小

发布时间 2023-09-21 15:36:50作者: ranyonsue

千万注意

必须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")

 

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

var date1 = new Date("2023-06-16 00:00:00");
var date2 = new Date("2023-06-16 08:00:00");

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");
var date2 = new Date("2023-06-16 08:00:00");
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");
var date2 = new Date("2023-06-16 08:00:00");
if (date1.valueOf() < date2.valueOf()) {
console.log("date1 小于 date2");
} else if (date1.valueOf() > date2.valueOf()) {
console.log("date1 大于 date2");
} else {
console.log("date1 等于 date2");
}