两天之间的Javascript天数计算

标签 javascript days

<分区>

var oneDay = 24 * 60 * 60 * 1000; // hours*minutes*seconds*milliseconds
var firstDate = new Date(2013, 06, 30);
var secondDate = new Date(2013, 07, 01);
var diffDays = Math.round(Math.abs((secondDate.getTime() - firstDate.getTime()) / (oneDay)));

我运行上面的代码,答案应该是 1day。但它给了我 2 天。 你能帮帮我吗?

最佳答案

那是因为月份在 JavaScript 中是 0 索引。所以你们的第一次约会是在 7 月,第二次是在 8 月。

您正在与有 31 天的月份进行比较,因此正确的差值为 2 天。

当我在 JavaScript 中以这种方式输入日期时,我明确地添加了偏移量,这样其他编码人员就不会读错,很容易犯这个错误:

var firstDate = new Date(2013, 06 - 1, 30); // -1 due to the months being 0-indexed in JavaScript
var secondDate = new Date(2013, 07 - 1, 01);

是的,我已经“修复”了我的代码...

关于两天之间的Javascript天数计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17174122/

相关文章:

Excel - 在日期后计算 45 天

ios - 有没有办法向 iOS 应用程序添加日历 View ?

sql - 在 SQL Server 中计算日期和今天之间的天数?

javascript - vue.js 强制更新输入元素不起作用

javascript - 如何将功能应用于页面上的每个复选框?

javascript - 获取过去 7 天日期的最有效方法?

javascript - 在Moment.js中做diff,今天等于今天和明天,返回-0。为什么?

javascript - D3库饼图,设置第一个切片的起始 Angular

javascript - 我正在尝试设置一个属性不可见的通用元素并在一行 JavaScript 中

javascript - aframe - 如何强制最大/最小相机倾斜