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) 编辑 收藏 举报