2015-01-02 2 views
2

Im разрабатывает простое приложение, отображающее дневной бюджет до следующего платежа. Для этого я использую momentJS.MomentJS next 15th

Проблема в том, что логика в моем приложении неверна. Im, сначала обнаружив, в какой день, я нахожу первый день этого месяца (date(1)), затем я суммирую 1 месяц и 14 дней. Но всякий раз, когда в следующем месяце (как сейчас -02/12), он, конечно, скажет мне, что следующий 15-й - в феврале.

Короче говоря, как я могу найти следующий 15-й момент использования?

Вот мое заявление:

$scope.nextDate = moment().date(1).add(1, "months").add(14,"days"); //calculate when is the next 15th 
    $scope.difference = Math.floor(moment.duration($scope.nextDate.diff($scope.today)).asDays()); 

Заранее спасибо!

ответ

2

Использовать простое условие в методе add при расчете nextDate.

$scope.nextDate = moment().date(1).add((moment().date() > 14 ? 1 : 0), "months").add(14,"days"); 

Это будет либо добавить 0 или 1 месяца для вашего расчета исходя из условия, если текущая дата больше, чем 14 (изменить до 15, если вы хотите считать «следующий» 15, как сегодня, когда на самом деле это пятнадцатый)

+0

Удивительный! Спасибо! –

Смежные вопросы