我目前正在尝试将launch_date与今天的日期进行比较。让我们说如果launch_date是从今天开始的3年之内,它应该执行某些操作,但我只是设法提出了部分代码:
var today = new Date();
var launch_date = 2011/10/17 00:00:00 UTC;
//if today's date minus launch_date is within 3 years, then do something.
任何指南?提前谢谢。
答案 0 :(得分:0)
尝试 -
var today = new Date();
var launch_date = new Date("2011/10/17 00:00:00 UTC");
var diff = today.getYear() - launch_date.getYear();
if(diff <=3 )
alert("yes");
else
alert("no");
答案 1 :(得分:0)
明确检查三年范围
var ld = new Date('2011/10/17 00:00:00 UTC')
if(today.getFullYear() - ld.getFullYear() < 3) {
//do something
}
这将在无效的日期字符串和可能的其他边缘情况下失败。 如果您要进行大量日期计算,我强烈建议时刻:http://momentjs.com/
答案 2 :(得分:0)
您总是可以计算出以天为单位的时间跨度并使用它。
var getDays = function(startDate, endDate){
var ONE_DAY = 1000 * 60 * 60 * 24;
var difference = endDate.getTime() - startDate.getTime();
return Math.round(difference / ONE_DAY);
}
见这个JsFiddle:http://jsfiddle.net/bj4Dq/1/
答案 3 :(得分:0)
您可以创建一个Date对象并调用getTime()方法(自1970-01-01以来返回毫秒数)。使用以下行之一:
var yourDate = new Date(dateString) // format yyyy-mm-dd hh:mm:ss
var yourDate = new Date(year, month, day, hours, minutes, seconds, milliseconds)
在if语句之后使用这个条件:
var edgeDate = // new Date(dateString);
if ( (today.getTime () - yourDate.getTime ()) >= edgeDate.getTime() ){
// do something
}
此致 凯文