使用javascript执行一些日期计算/比较
我有一个Date对象,我正在尝试向今天的日期添加一年。我还必须有一种方法来比较date对象中的日期(新创建的+一年)和今天的日期。如何将今天的日期与变量中的日期进行比较?关键是,我需要有一种方法知道今天的日期是否与到期日期相同或更大,这样我可以将用户重定向到不同的位置。。。谢谢大家 这是我的约会对象使用javascript执行一些日期计算/比较,javascript,jquery,Javascript,Jquery,我有一个Date对象,我正在尝试向今天的日期添加一年。我还必须有一种方法来比较date对象中的日期(新创建的+一年)和今天的日期。如何将今天的日期与变量中的日期进行比较?关键是,我需要有一种方法知道今天的日期是否与到期日期相同或更大,这样我可以将用户重定向到不同的位置。。。谢谢大家 这是我的约会对象 var expDate = new Date(); 基本的JavaScriptDate对象内置了一些东西,可以本地处理所有这些 要在日期上添加一年,只需执行以下操作: var currentDat
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,以便在进行任何比较时,只有日期是一个因素
有关JavaScriptDate
对象的所有信息,请查看此处:
编辑:修复语法问题。查找date.js库。这就是它的用途。谢谢……太棒了!我有一个问题……未来的日期显示为数字“1405483200000”,而不是2014年7月16日。我如何修复此问题?抱歉……太激动了,试图在一行中做太多事情。:)我用正确的格式更新了答案中的代码,以满足您的要求。有没有办法将其浓缩?我试着这样做,但我又得到了一个数字:var futureDate=currentDate.setFullYear(currentDate.getFullYear()+1);试图浓缩它实际上是导致问题的原因。将futureDate
变量设置为currentDate
变量只需将两个变量指向相同的Date
对象即可。因此,对任一变量所做的任何更改都将改变相同的共享对象。创建一个新的Date
对象,使用currentDate
值作为输入,为futureDate
设置一个新对象,以便可以独立操作这两个日期。