我想在zapier.com-zap中使用Javascript。以下是我现在连续五天要做的事情:
我有一个日期(无论您需要什么样的自定义格式),需要从中扣除两个工作日并使用Javascript将其输出到DD-MM-YYYY。听起来很简单,但我不能让它发挥作用。
我希望有人可以帮助我!非常感谢你。
我忘了提一件必不可少的东西,抱歉。如果结果是星期日或星期六,我需要最后一个工作日(星期五)的日期。
答案 0 :(得分:2)
如果您愿意使用外部库,MomentJS是一个非常流行的解析和修改JavaScript日期的工具,并且会非常简单:
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>
&#13;
如果工作日表示星期一到星期五,那么您需要做的就是确定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;
&#13;
<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>
&#13;
答案 1 :(得分:0)
虽然我同意@James Donnelly的说法很棒,但是如果不使用额外的库就可以实现你的任务。我创建了这个帮助函数来完成你所要求的。只需传递你的日期,无论你想加/减多少天(在你的情况下为-2)。
function addDaysToDate(date, days)
{
var result = new Date(date);
result.setDate(result.getDate() + days);
var dd = result.getDate();
var mm = result.getMonth() + 1; // January starts at 0.
var yyyy = result.getFullYear();
if (dd < 10)
{
dd = '0' + dd
}
if (mm < 10)
{
mm = '0' + mm
}
return dd + '/' + mm + '/' + yyyy;
}