我开发了一个简单的应用程序,显示每日预算,直到下次付款。为此,我使用了momentJS。
问题是我的应用程序中的逻辑是错误的。我,首先找到它的哪一天,然后我找到本月的第一天(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());
提前致谢!
答案 0 :(得分:2)
在计算add
时,在nextDate
方法中使用简单条件。
$scope.nextDate = moment().date(1).add((moment().date() > 14 ? 1 : 0), "months").add(14,"days");
如果当前日期大于14,这将根据条件为您的计算增加0或1个月(如果您想要计算“下一个”15,则修改为15,如今当它实际上是第15个时)。