【发布时间】:2017-04-26 20:31:58
【问题描述】:
我对 javascript 和 moment.js 非常陌生。我正在一个网站上工作,我们需要列出产品接下来 5 个可能的取货日期,不包括周末和节假日。我有一个开始,使用我在网上找到的功能。它适用于跳过周末,但我无法让假期工作。任何帮助,将不胜感激。 http://jsfiddle.net/rLjQx/940/
moment.fn.addWorkdays = function(days) {
var increment = days / Math.abs(days);
var date = this.clone().add(Math.floor(Math.abs(days) / 5) * 7 * increment, 'days');
var remaining = days % 5;
while (remaining != 0) {
date.add(increment, 'days');
// Check for weekends and a static date
if (!(date.isoWeekday() === 6) && !(date.isoWeekday() === 7) && !(date.date() === 1 && date.month() === 4)) {
remaining -= increment;
}
}
return date;
};
for (count = 0; count < 5; count++) {
var test = moment().addWorkdays(count + 1).format('dddd, MMMM Do YYYY');
document.write("Pickup date : " + test);
document.write("<br />");
}
【问题讨论】:
-
Moment.JS 的假期插件 - gist.github.com/jrhames/5200024 :) 希望这会有所帮助
标签: javascript momentjs