gpt4 book ai didi

javascript - DateJS - 不包括周末

转载 作者:行者123 更新时间:2023-12-03 05:18:14 25 4
gpt4 key购买 nike

我在我的网站上设置了 DateJS,以便用户能够知道他们何时会收到包裹。

我正在使用DateJS脚本来执行此操作。

我需要修改脚本,以便在估计交货日期时不包括周末。

例如,今天(星期五),如果有人选择以下其中一项:

次日航空:应该显示星期一,而不是星期六两天航空:应该显示星期二,而不是星期日三天航空:应该显示星期三,而不是星期一

非常感谢您的帮助。

<div class="panel-body">
<table class="table table-striped">
<thead>
<th>Shipping Method</th>
<th>Estimated Delivery</th>
</thead>
<tbody>
<tr>
<td>3 Day Select</td>
<td><span class="fromDate-1"></span>
<script>
var fromDate = Date.today().addDays(3);
if (fromDate.is().saturday() || fromDate.is().sunday())
fromDate = fromDate.next().monday();
$('.fromDate-1').html(fromDate.toString('dddd MMMM dS'));
</script>
</td>
</tr>
<tr>
<td>2nd Day Air</td>
<td><span class="fromDate-2"></span>
<script>
var fromDate = Date.today().addDays(2);
if (fromDate.is().saturday(1) || fromDate.is().sunday())
fromDate = fromDate.next().monday();
$('.fromDate-2').html(fromDate.toString('dddd MMMM dS'));
</script>
</td>
</tr>
<tr>
<td>Next Day Air</td>
<td>
<span class="fromDate-3"></span>
<script>
var fromDate = Date.today().addDays(1);
if (fromDate.is().saturday() || fromDate.is().sunday())
fromDate = fromDate.next().monday();
$('.fromDate-3').html(fromDate.toString('dddd MMMM dS'));
</script>
</td>
</tr>
</tbody>
</table>
</div>

最佳答案

我根本不会为此使用日期库,它非常简单。

cargo 似乎只在工作日运输,因此您需要一个添加工作日的函数,而不是当前的算法,例如 exclude weekends in javascript date calculation 的答案.

下面的操作与仅添加工作日类似,它仅对少量天数(例如 0 到 10)有效。

/* Add business days to a date.
** @param {Date} date - date to start from
** @param {number} deliveryDays - positive integer
** @returns {Date} a new Date object for the delivery date
*/
function getDeliveryDate(date, deliveryDays) {
// Default delivery is 3 days
deliveryDays = typeof deliveryDays == 'undefined'? 3 : deliveryDays;
// Copy date so don't modify original
var d = new Date(+date);
// Add days. If land on a Saturday or Sunday, move another day
while (deliveryDays--) {
d.setDate(d.getDate() + 1);
if (!(d.getDay() % 6)) ++deliveryDays;
}
return d;
}

// Some examples
[
[new Date(2017,0,7),3], // Saturday start, 3 day delivery
[new Date(2017,0,8),1], // Sunday start, 1 day delivery
[new Date(2017,0,13),1], // Friday start, 1 day delivery
[new Date(2017,0,13),3], // Friday start, 3 day delivery
[new Date(2017,0,9), 3], // Monday start, 3 day delivery
[new Date(2017,0,8), 7] // Sunday start, 7 day delivery
].forEach(function(d) {
console.log('Ordered day : ' + d[0].toString() +
'\nDelivery days: ' + d[1] +
'\nDelivery on : ' + getDeliveryDate(d[0], d[1]));
});

关于javascript - DateJS - 不包括周末,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41517796/

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