目 录CONTENT

文章目录

JavaScript中如何比较两个时间的先后

萧瑟
2023-04-06 / 0 评论 / 9 点赞 / 556 阅读 / 1,248 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2023-04-06,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

在业务中可能会遇到各种各样的需求,比如最近遇到一个:根据两个日期时间的先后顺序去处理业务。在此记录下问题并进行总结,以便后续翻阅。

6589922

1、两时间格式相同

var date1 = new Date("2023-4-6");
var date2 = new Date("2022-5-1");
var result = date1 > date2;        
console.log(result);	// true

2、两时间格式不同

1、Date.parse()

时间格式不同需要先将时间转成毫秒数,再进行比较

var date1 = new Date("2023-4-6");
var date2 = new Date("2022/4/6");
var result = Date.parse(date1) > Date.parse(date2);
console.log(result); 	// true

Date.parse() 方法解析一个表示某个日期的字符串,并返回从 1970-1-1 00:00:00 UTC 到该日期对象(该日期对象的 UTC 时间)的毫秒数,如果该字符串无法识别,或者一些情况下,包含了不合法的日期数值(如:2015-02-31),则返回值为 NaN。

2、Data.getTime()
let date1 = new Date();
let date2 = "09/04/2023";

console.log(date1);	//"2023-04-06T06:58:54.568Z"
console.log(new Date(date2));	// "2023-09-03T16:00:00.000Z"

let _date1 = new Date(date1).getTime();
let _date2 = new Date(date2).getTime();

console.log(_date1)	// 1680764639582
console.log(_date2)	// 1693756800000

if (_date1 < _date2) {
  console.log(`${date1} is less than ${date2}`);
} else if (_date1 > _date2) {
  console.log(`${date1} is greater than ${date2}`);
} else {
  console.log(`Both dates are equal`);
}

Date.parse() 与 Date.getTime() 说到底都是将时间转成毫秒再进行比较的方式,使用哪种方式都是可以的。

var date = new Date('2023-04-06 14:53');

console.log(date.getTime());	// 1680763980000
console.log(Date.parse(date))	// 1680763980000

weixin

9

评论区