我希望在不同月份或年份的两个日期之间得到差异 . 我使用下面的代码
var d1 = lastexecdate.split(“ . ”);
var d2 = jabusinessdate.split(“ . ”);
var date1 = new Date(d1 [2],d1 [1],d1 [0]);
var date2 = new Date(d2 [2],d2 [1],d2 [0]);
var timeDiff =(date2.getTime() - date1.getTime());
var diffdays = Math.ceil(timeDiff /(1000 * 3600 * 24));
当我使用诸如17.10.2014和19.10.2014之类的日期时,它给了我两个不同的完美 . 但是当我使用诸如2014年10月31日和2014年1月1日之类的日期时,它给出了一个结果为0,其中实际结果应为1.即,当月份或年份不同时,结果显示异常 . 请告诉我一些想法或一些功能,我可以使用它来获得适当的结果 .
2 回答
这是一个可以做到这一点的功能 . 我测试了不同年份和不同月份 . 由于时间信息与您无关,因此请在两个日期为其提供相同的值,例如您在评论中说明的00:00:00
这是获得结果的两个图像捕获 . 首先是不同年份,第二年是不同月份 .
在JavaScript中,月份的索引为0.因此,1月份的索引为0,12月份的索引为11.在您指定日期31.10.2014的情况下,您必须将9作为月份参数传递给日期构造函数 . 类似于10而不是11到日期构造函数 .
例:
对于“31.10.2014”:
对于“1.11.2014”:
现在进行如下计算:
这将给出结果1 .
所以你要做的就是从代码中的月份中减去1,如下所示: