【发布时间】:2019-05-01 10:00:36
【问题描述】:
即使月份有 31 天或 30 天,我也想要正确的结果。
var startDt = $("input[id=StartDate_" + i + "]").val();
var endDt = $("input[id=EndDate_" + i + "]").val();
var diff = new Date(Date.parse(endDt) - Date.parse(startDt));
var days = ((diff / 1000 / 60 / 60 / 24) + 1);
if (SelVal == "Monthly") {
$("#div" + i).html(Math.ceil(days / 30));
}
if (SelVal == "Semi-monthly") {
$("#div" + i).html(Math.ceil(days / 15));
}
我想计算开始日期是 2019 年 4 月 10 日和结束日期是 2019 年 5 月 14 日的差异。我想要每月和每半个月。对于这个例子:
- 月数差异为 1
- 半月差将是 3,因为月中是 按每月 15 日计算。
例如,任何中心的计费发生在每月 1 日和 15 日,我需要两个日期之间的计费次数。
【问题讨论】:
-
您需要更清楚地描述您希望此计算执行的操作,以及它为什么不适合您的原因。现在这里没有足够的信息来有效地帮助你。一个可行的例子也会有所帮助。
-
编辑问题以包含这些详细信息。还要清楚你所说的“半月刊”本身是没有意义的。
-
已编辑请检查
-
您是否考虑过使用momentJS 之类的东西 - 它应该会使这种事情变得更简单。例如momentjs.com/docs/#/displaying/difference 。如果不需要,不要重新发明轮子!
-
因此,如果我将评论总结为:任何部分月份或任何部分半月都算作一个附加值。那么使用我的示例 4 月 10 日至 5 月 16 日,然后是 4 个半月和 2 个整月,而您原来的问题是 3 半个月是错误的?
标签: javascript jquery date