一、JS比较两个日期大小用什么
要比较两个日期的大小,可以使用JavaScript中的Date对象。
使用Date对象可以将日期和时间存储为一个数值,并进行常见的日期操作,比如:日期之间的比较、日期的计算、日期的格式化等操作。
二、JS比较日期大小的函数
JavaScript原生提供了可以比较两个日期大小的函数,包括:
1. getTime()
getTime()方法返回一个日期距离格林威治标准时间(1970 年 1 月 1 日)的毫秒数,我们可以通过比较两个日期的毫秒数来判断大小。
const date1 = new Date('2021-08-01');
const date2 = new Date('2021-08-02');
if (date1.getTime() > date2.getTime()) {
console.log('date1 大于 date2');
} else if (date1.getTime() === date2.getTime()) {
console.log('date1 等于 date2');
} else {
console.log('date1 小于 date2');
}
2. valueOf()
valueOf()方法返回一个 Date 对象的基本日期值。该基本日期值等于距离 1970 年 1 月 1 日的毫秒数,我们同样可以通过比较基本日期值来确定两个日期的大小。
const date1 = new Date('2021-08-01');
const date2 = new Date('2021-08-02');
if (date1.valueOf() > date2.valueOf()) {
console.log('date1 大于 date2');
} else if (date1.valueOf() === date2.valueOf()) {
console.log('date1 等于 date2');
} else {
console.log('date1 小于 date2');
}
三、两个日期怎么比较大小JS
除了上述两个日期比较的方法外,我们还可以使用运算符进行比较,这个时候需要注意的是,需要将比较的都转化成同样的格式。
const date1 = '2021-08-01';
const date2 = '2021-08-02';
if (new Date(date1) > new Date(date2)) {
console.log('date1 大于 date2');
} else if (new Date(date1) === new Date(date2)) {
console.log('date1 等于 date2');
} else {
console.log('date1 小于 date2');
}
四、JS日期时间比较
如果需要比较日期和时间,则需要先将时间转化为毫秒数再进行比较。下面是一个计算两个日期间相差多少天的例子。
function getDaysBetweenDates(date1, date2) {
const oneDay = 24 * 60 * 60 * 1000; // 一个小时的毫秒数
const firstDate = new Date(date1);
const secondDate = new Date(date2);
const diffDays = Math.round(Math.abs((firstDate.getTime() - secondDate.getTime()) / (oneDay)));
return diffDays;
}
console.log(getDaysBetweenDates('2021-08-01 12:00:00', '2021-08-03 12:00:00')); // 2
五、总结
JavaScript中可以使用Date对象进行日期的比较,可以使用getTime()或者valueOf()函数进行比较,也可以将日期转化为毫秒数再比较,不过需要注意时间的格式。