Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.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/6/cplusplus/130.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 需要计算月内两个日期之间的差异_Javascript_Datetime - Fatal编程技术网

Javascript 需要计算月内两个日期之间的差异

Javascript 需要计算月内两个日期之间的差异,javascript,datetime,Javascript,Datetime,我正在计算两个月内两个日期之间的差异,但现有的解决方案似乎没有一个适合我。我需要的是Excel datedif公式的副本-我在下面给出js脚本vs Excel公式的结果 选项#1不起作用,因为它会对月份dif结果进行四舍五入,即当天数差超过15天时,函数会对结果进行四舍五入。 选项2对我不起作用,因为它给出了一个粗略的估计。 选项(1)的代码 选项(2)的代码 谢谢你,埃迪,很抱歉为你做了额外的工作!说您希望得到与Excel中相同的结果是不够的,当然对于发布到StackOverflow的问题

我正在计算两个月内两个日期之间的差异,但现有的解决方案似乎没有一个适合我。我需要的是Excel datedif公式的副本-我在下面给出js脚本vs Excel公式的结果

选项#1不起作用,因为它会对月份dif结果进行四舍五入,即当天数差超过15天时,函数会对结果进行四舍五入。

选项2对我不起作用,因为它给出了一个粗略的估计。

选项(1)的代码

选项(2)的代码


谢谢你,埃迪,很抱歉为你做了额外的工作!说您希望得到与Excel中相同的结果是不够的,当然对于发布到StackOverflow的问题是不够的。你能描述一下你想要的行为吗?闰日对其有何影响?夏令时/夏令时的变化如何?嗨,斯科特,谢谢你的回复。它应该考虑闰年和一个月内不同的天数。问题是它应该如何考虑这些?什么是
2012-02-29-2011-02-28
2012-02-29-2011-03-01
2013-03-01-2012-02-29
,最后一个不同于
2013-03-01-2012-02-28
2012-03-01-2012-03-01
?如果
2019-11-15
2019-10-15
(由于夏令时)晚了31天还差一小时,会发生什么情况?换句话说,你的要求是什么?它不一定是完整的算法,但这足以帮助我们了解你在寻找什么。我不确定我是否遵循了这一部分——“2012-02-29-2011-02-28或2012-02-29-2011-03-01或2013-03-01-2012-02-29是什么?”你在问计算的意义吗?谢谢你,埃迪,很抱歉为你做了额外的工作!说您希望得到与Excel中相同的结果是不够的,当然对于发布到StackOverflow的问题是不够的。你能描述一下你想要的行为吗?闰日对其有何影响?夏令时/夏令时的变化如何?嗨,斯科特,谢谢你的回复。它应该考虑闰年和一个月内不同的天数。问题是它应该如何考虑这些?什么是
2012-02-29-2011-02-28
2012-02-29-2011-03-01
2013-03-01-2012-02-29
,最后一个不同于
2013-03-01-2012-02-28
2012-03-01-2012-03-01
?如果
2019-11-15
2019-10-15
(由于夏令时)晚了31天还差一小时,会发生什么情况?换句话说,你的要求是什么?它不一定是完整的算法,但这足以帮助我们理解你在寻找什么。我不确定我是否遵循了这一部分——“2012-02-29-2011-02-28或2012-02-29-2011-03-01或2013-03-01-2012-02-29是什么?”你在问计算的意义吗?
var month_dif = dateDiff(reg_date, dates, "m")
var diff = Math.ceil(dates.getTime() - reg_date.getTime());
var secs = Math.floor(diff/1000);
var mins = Math.floor(secs/60);
var hours = Math.floor(mins/60);
var days = Math.floor(hours/24);
var month_dif = Math.floor(days/30);