JavaScript Date Month Out

时间:2017-03-06 16:14:00

标签: javascript date

我正在创建一个jQuery UI滑块,需要创建一个从2015年1月19日到今天5月6日的日期范围。

我计算了这些日期之间有777天。

但是当我在JavaScript中执行此操作时,它将在30天后完成。

var startDate = new Date(2015, 1, 19);
var endDate = new Date();
var timeDiff = Math.abs(endDate.getTime() - startDate.getTime());
var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24));

$("#result").html(diffDays);

$("#diff").html(777 - diffDays);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
JS: <span id="result"></span><br>
Actual: 777<br>
Difference: <span id="diff"></span>

我没有看到我的代码有任何错误,因为我在别处使用它并且它正常运行。

1 个答案:

答案 0 :(得分:1)

JavaScript中的月份从零开始,因此1月份为0,而不是1

&#13;
&#13;
var startDate = new Date(2015, 0, 19);
var endDate = new Date();
var timeDiff = Math.abs(endDate.getTime() - startDate.getTime());
var diffDays = Math.floor(timeDiff / (1000 * 3600 * 24));

$("#result").html(diffDays);

$("#diff").html(777 - diffDays);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
JS: <span id="result"></span><br>
Actual: 777<br>
Difference: <span id="diff"></span>
&#13;
&#13;
&#13;

另请注意,我将ceil更改为floor