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   ranyonsue  阅读(1033)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
历史上的今天:
2020-09-21 利用flex布局横向滚动
2018-09-21 JavaScript对象数组根据某属性sort升降序排序

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示