gpt4 book ai didi

javascript - 将两个 "DD-MM"字符串评估为日期并计算之前或之后

转载 作者:行者123 更新时间:2023-12-02 16:29:19 27 4
gpt4 key购买 nike

我正在尝试评估三个日期是否前后,以及在当前 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').
}

问题是,如果语句计算结果为 true,则日期顺序正确,但如果firstPayment 为18-01,则输出日期应为18-01-2015,但是如果firstPayment是18-11那么它应该输出为18-11-2014

我希望这有意义,因为我真的陷入困境

最佳答案

我认为需要更好地弄清楚逻辑 - 也许这可以压缩,但这里有一个完整的 if block ,其中包含您需要充实的所有可能条件。

if(todayDate.isAfter(firstPayment)) {
if (todayDate.isBefore(secondPayment)) {
lastInterestPaymentDate.text(firstPayment.add(-1,'years').format('DD MMM YYYY'));
nextInterestPaymentDate.text(secondPayment.format('DD MMM YYYY'));
} else if (todayDate.isAfter(secondPayment)) {
// ??
} else { // todayDate equals secondPayment
// ??
}
} else if (todayDate.isBefore(firstPayment)) {
if (todayDate.isBefore(secondPayment)) {
// ??
} else if (todayDate.isAfter(secondPayment)) {
// ??
} else { // todayDate equals secondPayment
// ??
}
} else { // todayDate is equal to firstPayment
if (todayDate.isBefore(secondPayment)) {
// ??
} else if (todayDate.isAfter(secondPayment)) {
// ??
} else { // todayDate equals secondPayment
// ??
}
}

正如你所看到的,我上面的评论是错误的,有九个条件而不是六个。

关于javascript - 将两个 "DD-MM"字符串评估为日期并计算之前或之后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28443725/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com