gpt4 book ai didi

javascript - 如何在不同月份的javascript中获取两个日期之间的差异

转载 作者:行者123 更新时间:2023-11-30 16:58:11 26 4
gpt4 key购买 nike

当两个日期处于不同的月份或年份时,我想得到它们之间的差异。我使用了下面的代码

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 年 11 月 11 日之类的日期时,它给我的结果为零,而实际结果应该是 1。也就是说,当月份或年份不同时,它会显示结果异常。请给我一些想法或一些功能,我可以用它们来获得合适的结果。

最佳答案

在 JavaScript 中,月份从 0 开始索引。因此,一月的索引为 0,十二月的索引为 11。在您指定日期 2014 年 10 月 31 日的情况下,您实际上必须将 9 作为月份参数传递给日期构造函数。与日期构造函数类似,10 而不是 11。

例子:

对于“2014 年 10 月 31 日”:

var date1 = new Date(2014,9,31);

对于“1.11.2014”:

var date2 = new Date(2014,10,1);

现在您按如下方式进行计算:

var timeDiff =Math.abs(date2.getTime() - date1.getTime());
var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24));

这将给出结果 1。

所以您所要做的就是从代码中的月份中减去 1,如下所示:

var date1= new Date(d1[2], d1[1] - 1,d1[0]);

var date2= new Date(d2[2], d2[1] - 1,d2[0]);

关于javascript - 如何在不同月份的javascript中获取两个日期之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29314331/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com