Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何检查日期是否在30天内?_Javascript_Date - Fatal编程技术网

Javascript 如何检查日期是否在30天内?

Javascript 如何检查日期是否在30天内?,javascript,date,Javascript,Date,可能重复: 我存储的日期变量如下: var startYear = 2011; var startMonth = 2; var startDay = 14; 现在我想检查当前日期(今天)是否在开始日期的30天内。 我能做这个吗 var todayDate = new Date(); var startDate = new Date(startYear, startMonth, startDay+1); var difference = todayDate - startDate; 我不确

可能重复:

我存储的日期变量如下:

var startYear = 2011;
var startMonth = 2;
var startDay = 14;
现在我想检查当前日期(今天)是否在开始日期的30天内。 我能做这个吗

var todayDate = new Date();
var startDate = new Date(startYear, startMonth, startDay+1);
var difference = todayDate - startDate;


我不确定这在语法或逻辑上是否正确。

在JavaScript中,获取两个日期之间的时间跨度的最佳方法是获取它们的“时间”值(自历元起的毫秒数),并将其转换为所需的单位。下面是一个函数,用于获取两个日期之间的天数:

(todayDate.getTime() - startDate.getTime())/(1000*60*60*24.0)
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

将“javascript日期比较”放入谷歌。你试过吗?我试过这个:但它总是给我正整数。。。我想知道当前日期是在…@ssdesign之前还是之后:如果开始日期在今天之前,代码应该返回一个负整数;我的代码可以通过删除减法前后的
Math.abs
来修改。