gpt4 book ai didi

javascript - 开始日期晚于结束日期的两个日期之间的差异

转载 作者:行者123 更新时间:2023-11-28 14:11:55 26 4
gpt4 key购买 nike

我目前正在使用以下函数来使用 momentjs 计算两个日期之间的差异:

function calculateWorkdays(startDate,endDate) {
// + 1 cause diff returns the difference between two moments, in this case the day itself should be included.

const totalDays = moment(endDate).diff(moment(startDate), 'days') + 1;
const dayOfWeek = moment(startDate).isoWeekday();
let totalWorkdays = 0;

for (let i = dayOfWeek; i < totalDays + dayOfWeek; i++) {
if (i % 7 !== 6 && i % 7 !== 0) {
totalWorkdays++;
}
}
return totalWorkdays;
}

如果开始日期早于结束日期,该函数将完美运行。但是,我的应用程序要求它也接受相反的情况 - startDate 晚于 endDate。

我正在尝试更改该函数,以便在上述情况下输出负数。

示例:

startDate = 2019-12-05
endDate = 2019-12-03
result of function = -3

到目前为止,我已经尝试在 startDate > endDate 的情况下交换 startDate 和 endDate,但这仍然会导致函数的正输出

最佳答案

如果参数不符合预期顺序,您可以翻转参数:

function calculateWorkdays(startDate,endDate) {
if (startDate > endDate)
return -calculateWorkdays(endDate, startDate);
// rest of the code
}

关于javascript - 开始日期晚于结束日期的两个日期之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59160359/

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