Рассчитать разницу между месяцами и полугодовой разницей между двумя датами с помощью Jquery - PullRequest
0 голосов
/ 01 мая 2019

Мне нужны правильные результаты, даже если в месяце 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));
}

Я хочу рассчитать разницу, где Дата начала - 10 апреля 2019 года, а Дата окончания - 14 мая 2019 года. Я хочу ежемесячнои полугодовые.Для этого примера:

  • Разница в количестве месяцев будет 1
  • Полумесячная разница будет 3, так как середина месяца считается датой 15 каждого месяца.

Например, выставление счетов любому центру происходит каждый 1-й и 15-й числа месяца, и мне нужно количество счетов между двумя датами.

1 Ответ

0 голосов
/ 01 мая 2019

Хорошо, попробуйте это:

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));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...