使用jQuery计算两个日期之间的月差和半月差异



即使月份有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个日期,我需要两个日期之间的账单数量。

好的,请尝试:

var date1 = new Date("10/31/2019");
var date2 = new Date("12/1/2019");
var timeDiff = Math.abs(date2.getTime() - date1.getTime());
var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24)); 
console.log(diffDays)
console.log("months: "+ (Math.floor(diffDays/30)));
console.log("days: "+ (diffDays%30));

查看代码段

var date1 = new Date("10/31/2019");
var date2 = new Date("12/1/2019");
var timeDiff = Math.abs(date2.getTime() - date1.getTime());
var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24)); 
console.log(diffDays)
console.log("months: "+ (Math.floor(diffDays/30)));
console.log("days: "+ (diffDays%30));

最新更新