可能重复:
在javascript中获取2个日期之间的差异?
我存储日期变量,如下所示:
var startYear = 2011;
var startMonth = 2;
var startDay = 14;
Run Code Online (Sandbox Code Playgroud)
现在我想检查当天(今天)是否在开始日期的30天内落下.我可以这样做吗?
var todayDate = new Date();
var startDate = new Date(startYear, startMonth, startDay+1);
var difference = todayDate - startDate;
Run Code Online (Sandbox Code Playgroud)
????
我不确定这在语法上或逻辑上是否正确.
mae*_*ics 13
在JavaScript中,获得两个日期之间的时间跨度的最佳方法是获取它们的"时间"值(自纪元以来的毫秒数)并将其转换为所需的单位.这是一个获取两个日期之间天数的函数:
var numDaysBetween = function(d1, d2) {
var diff = Math.abs(d1.getTime() - d2.getTime());
return diff / (1000 * 60 * 60 * 24);
};
var d1 = new Date(2011, 0, 1); // Jan 1, 2011
var d2 = new Date(2011, 0, 2); // Jan 2, 2011
numDaysBetween(d1, d2); // => 1
var d3 = new Date(2010, 0, 1); // Jan 1, 2010
numDaysBetween(d1, d3); // => 365
Run Code Online (Sandbox Code Playgroud)