我試圖評估三個日期是否之前或之後對方,如果他們也都是今年鑑於目前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