使用javascript执行一些日期计算/比较

使用javascript执行一些日期计算/比较,javascript,jquery,Javascript,Jquery,我有一个Date对象,我正在尝试向今天的日期添加一年。我还必须有一种方法来比较date对象中的日期(新创建的+一年)和今天的日期。如何将今天的日期与变量中的日期进行比较?关键是,我需要有一种方法知道今天的日期是否与到期日期相同或更大,这样我可以将用户重定向到不同的位置。。。谢谢大家 这是我的约会对象 var expDate = new Date(); 基本的JavaScriptDate对象内置了一些东西,可以本地处理所有这些 要在日期上添加一年,只需执行以下操作: var currentDat

我有一个Date对象,我正在尝试向今天的日期添加一年。我还必须有一种方法来比较date对象中的日期(新创建的+一年)和今天的日期。如何将今天的日期与变量中的日期进行比较?关键是,我需要有一种方法知道今天的日期是否与到期日期相同或更大,这样我可以将用户重定向到不同的位置。。。谢谢大家

这是我的约会对象

var expDate = new Date();

基本的JavaScript
Date
对象内置了一些东西,可以本地处理所有这些

要在日期上添加一年,只需执行以下操作:

var currentDate = new Date();
var futureDate = new Date(currentDate);
futureDate.setFullYear(futureDate.getFullYear() + 1); 
将当前日期作为日期,然后基于今天的日期创建一个新日期,并将yea设置为当前年份加1

至于比较,只需使用
=
==
=。JavaScript了解在涉及日期对象时如何处理这些操作符,并将适当地比较这两个日期

我建议做的一件事(因为您只关心实际日期,而不关心
date
对象的时间元素),是在获得今天的日期后添加到这一行代码中:

currentDate.setHours(0, 0, 0, 0);
这将把小时、分钟、秒和毫秒的值设置为0,以便在进行任何比较时,只有日期是一个因素

有关JavaScript
Date
对象的所有信息,请查看此处:


编辑:修复语法问题。

查找date.js库。这就是它的用途。谢谢……太棒了!我有一个问题……未来的日期显示为数字“1405483200000”,而不是2014年7月16日。我如何修复此问题?抱歉……太激动了,试图在一行中做太多事情。:)我用正确的格式更新了答案中的代码,以满足您的要求。有没有办法将其浓缩?我试着这样做,但我又得到了一个数字:var futureDate=currentDate.setFullYear(currentDate.getFullYear()+1);试图浓缩它实际上是导致问题的原因。将
futureDate
变量设置为
currentDate
变量只需将两个变量指向相同的
Date
对象即可。因此,对任一变量所做的任何更改都将改变相同的共享对象。创建一个新的
Date
对象,使用
currentDate
值作为输入,为
futureDate
设置一个新对象,以便可以独立操作这两个日期。