我试图评估三个日期是否之前或之后对方,如果他们也都是今年鉴于目前DD-MM评估两个“DD-MM”字符串作为日期计算之前或之后
例
var firstPayment = moment('18-01', 'DD-MM');
var secondPayment = moment('18-07', 'DD-MM');
var todayDate = moment(10-02, 'DD-MM');
if(todayDate.isAfter(firstPayment) && todayDate.isBefore(secondPayment)) {
lastInterestPaymentDate.text(firstPayment.add(-1,'years').format('DD MMM YYYY'));
nextInterestPaymentDate.text(secondPayment.format('DD MMM YYYY'));
} else {
nextInterestPaymentDate.text(secondPayment.add(1,'years').format('DD MMM YYYY'));
lastInterestPaymentDate.text(firstPayment.format('DD MMM YYYY')); //add(1, 'years').
}
的问题是,如果语句评估正确的日期顺序正确但是如果firstPayment是18-01
然后输出的日期应该是18-01-2015
但如果firstPayment是18-11
那么就应该输出18-11-2014
我希望这是有道理的,因为我很困难
什么情况下有效?今天之前先付款+今天前付款吗?今天先付后付款+今天前付款吗?今天等于firstpayment和今天最后付款之前?拼写出来是因为你的IF只检查六种可能的条件之一,然后把其他五个条件倾倒到ELSE中。 – James 2015-02-10 23:49:50
好问题......如果今天是'''10-02''',第一个付款是'''18-01''',secondPayment是'''18-07''',那么条件评估为真,所以lastInterestPayment ='''18-01-2015'''和nextInterestPayment ='''18-07-2015''' – 2015-02-10 23:53:00