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

Javascript 检查日期对象是否超过一年,javascript,Javascript,我想看看日期对象是否超过一年!由于闰年等原因,我甚至不知道如何比较它们 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!"); } 使用getFullYear():

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

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!");
}
使用
getFullYear()

小提琴:


你可以这样付账

(todayDate - oldDate) / (1000 * 3600 * 24 * 365) > 1
您可以在此处查看并尝试:


此代码应正确处理闰年

基本上:

如果日期“
getFullYear()
之间的差异大于一,
或者差值等于1,并且将它们的年份设置为相同后,
todayDate
大于
oldDate

然后就有超过一年的差距

var oldDate=新日期(“2014年10月2日01:15:23”),
todayDate=新日期(),
y1=oldDate.getFullYear(),
y2=todayDate.getFullYear(),
d1=新日期(旧日期)。设置完整年份(2000),
d2=新日期(今天日期)。设置完整年份(2000年);

log(y2-y1>1 | |(y2-y1==1&&d2>d1))对于相隔仅一天的日期,这将返回true,在2015年12月31日与2016年1月1日的情况下,可能会出现重复的注释,该注释专门显示了如何在差异大于365天时发出警报。您能否给我一个示例,其中有两个闰年的日期值,您希望它返回true,以便我可以修复它?setYear已弃用,但看起来setFullYear对这个案子有效
(todayDate - oldDate) / (1000 * 3600 * 24 * 365) > 1