gpt4 book ai didi

javascript - 使用 Javascript 从日期中减去工作日

转载 作者:行者123 更新时间:2023-11-29 21:32:43 24 4
gpt4 key购买 nike

我想在我的 zapier.com-zap 中使用 Javascript。这是我现在连续五天尝试做的事情:

我有一个日期(无论您需要什么自定义格式),需要从中减去两个工作日并使用 Javascript 将其输出到 DD-MM-YYYY。听起来很简单,但我无法让它发挥作用。

我希望有人能帮我解决这个问题!非常感谢。

对不起,我忘了提一件重要的事情。如果结果是星期日或星期六,我需要最后一个工作日(星期五)的日期。

最佳答案

如果您愿意使用外部库,MomentJS是一个非常流行的解析和修改 JavaScript 日期的工具,可以使这变得非常简单:

示例 1:减去 2 天和格式

var date = new Date(),
formatted = moment(date).subtract(2, 'days').format('DD-MM-YYYY');

document.getElementById('date').innerHTML = date;
document.getElementById('example').innerHTML = formatted;
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.11.2/moment.min.js"></script>
This example takes today's date (<span id="date"></span>), subtracts 2 days from it,
and then displays it below in the desired format (DD-MM-YYYY):

<p id="example"></p>

示例 2:减去 2 个工作天数和格式

如果您所说的工作日是指星期一到星期五,那么您在这里需要做的就是确定您的date 变量中的日期是星期一还是星期二,然后相应地调整传递给 MomentJS 的 subtract 方法的值。我们可以使用 MomentJS's get day of week function 来做到这一点:

var date = new Date(),
formatted, daysToSubtract;

switch (moment(date).day()) {
// Sunday = 3 days
case 0:
daysToSubtract = 3;
break;
// Monday and Tuesday = 4 days
case 1:
case 2:
daysToSubtract = 4;
break;
// Subtract 2 days otherwise.
default:
daysToSubtract = 2;
break;
}


formatted = moment(date).subtract(daysToSubtract, 'days').format('DD-MM-YYYY');

document.getElementById('date').innerHTML = date;
document.getElementById('example').innerHTML = formatted;
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.11.2/moment.min.js"></script>
This example takes today's date (<span id="date"></span>), subtracts 2 working days (Monday to Friday) from it,
and then displays it below in the desired format (DD-MM-YYYY):

<p id="example"></p>

关于javascript - 使用 Javascript 从日期中减去工作日,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35749150/

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