检查日期对象是否超过一年

Check if date object is over one year old

本文关键字:一年 日期 对象 是否 检查      更新时间:2023-09-26

我想看看日期对象是否超过一年!由于闰年等原因,我甚至不知道如何比较它们。

var oldDate = new Date("July 21, 2001 01:15:23");
var todayDate = new Date();
if(???) {
    console.log("it has been over one year!");
} else {
    console.log("it has not gone one year yet!");
}

你可以这样做

(todayDate - oldDate) / (1000 * 3600 * 24 * 365) > 1

你可以在这里看到并尝试:

https://jsfiddle.net/rnyxzLc2/

这段代码应该能正确处理闰年。

基本上

:

如果日期getFullYear()的差值大于1,
或将todayDateoldDate的年份设置为相同后,相差1
那么就有超过一年的差距了。

var oldDate = new Date("Oct 2, 2014 01:15:23"),
    todayDate = new Date(),
    y1= oldDate.getFullYear(),
    y2= todayDate.getFullYear(),
    d1= new Date(oldDate).setFullYear(2000),
    d2= new Date(todayDate).setFullYear(2000);
console.log(y2 - y1 > 1 || (y2 - y1 == 1 && d2 > d1));

use getFullYear():

小提琴:https://jsfiddle.net/husgce6w/

var oldDate = new Date("July 21, 2001 01:15:23");
var todayDate = new Date();
var thisYear = todayDate.getFullYear();
var thatYear = oldDate.getFullYear();
console.log(todayDate);
console.log(thatYear);
if(thisYear - thatYear > 1) {
    console.log("it has been over one year!");
} else {
    console.log("it has not gone one year yet!");
}