Как правильно рассчитать разницу месяцев по машинописным датам Angular - PullRequest
0 голосов
/ 29 декабря 2018

Прежде всего: я работаю над Angular 7.

Допустим, у меня есть номер X, например, тариф, который я должен платить каждый месяц.Поэтому, учитывая две даты startDate и endDate, я хочу подсчитать, сколько я должен заплатить за этот промежуток времени.Может быть, более убедительный пример:

Предположим, моя ставка равна 10.00

Моя startDate равна 2018-12-01, а моя endDate равна 2018-12-31, мне нужно вычислить 1 * 10.00 = 10.00.При этом я собираюсь предположить, что я смотрю только на «полный месяц», поэтому нельзя ввести endDate из 2018-12-13, просто 2018-12-31, 2019-01-31 или 2019-02-28 (или ofc. 2019-02-29).

Я не смог заставить его работать (к сожалению), поэтому я оглянулся и застрял в этом методе:

  monthDiff(d1: Date, d2: Date): number {
    let months;
    months = (d2.getFullYear() - d1.getFullYear()) * 12;
    months -= d1.getMonth() + 1;
    months += d2.getMonth();
    return months <= 0 ? 0 : months;
  }

Это тоже (к сожалению) тоже не работаетдля меня.

1 Ответ

0 голосов
/ 29 декабря 2018

Я настоятельно рекомендую moment.js для работы с датами.Смотрите ссылку: https://momentjs.com/

Я думаю, что это наиболее используемая библиотека js для работы с датами в настоящее время.Взгляните на него, вы увидите, что им легко пользоваться.

Мне нужна эта помощь.

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...