📅  最后修改于: 2023-12-03 15:24:13.341000             🧑  作者: Mango
在 JavaScript 中,可以使用 Date
对象来表示日期。获取两个日期之间的天数,可以通过计算两个日期的时间戳差来实现。时间戳是指自 1970 年 1 月 1 日 00:00:00 UTC(协调世界时)以来的毫秒数。
可以使用 Date
的 getTime()
方法,获取一个日期的时间戳(以毫秒为单位)。然后,将两个日期的时间戳相减,再将结果除以 86400000(等于 24 小时 x 60 分钟 x 60 秒 x 1000 毫秒),就可以得到两个日期之间相差的天数。
const date1 = new Date('2022-01-01');
const date2 = new Date('2022-01-10');
const timeDiff = Math.abs(date2.getTime() - date1.getTime());
const diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24));
console.log(diffDays); // 10
另一种方法是,将两个日期的时间戳设为相同的时间,并把它们之间的天数计算出来。在这种方法中,需要使用 Date
的 setDate()
方法来设置日期值,并使用 getTime()
方法获取时间戳。
const date1 = new Date('2022-01-01');
const date2 = new Date('2022-01-10');
date1.setHours(0, 0, 0, 0); // 将时间设置为 00:00:00:000
date2.setHours(0, 0, 0, 0);
const timeDiff = Math.abs(date2.getTime() - date1.getTime());
const diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24));
console.log(diffDays); // 10
以上两种方法都可以计算两个日期之间相差的天数,可以根据喜好使用其中一种方法。