当前位置: 代码迷 >> JavaScript >> 使用moment.js时从日历jquery中排除周末
  详细解决方案

使用moment.js时从日历jquery中排除周末

热度:37   发布时间:2023-06-13 11:50:27.0

我正在使用moment.js来显示未来的3、4和6天

<p class="day">
<script>
    var fourDaysForward = new moment().add(4, 'day');  
    document.write(fourDaysForward.format('dddd'+','+' MMMM'));
</script>
</p>

<p class="date">
<script>
    var fourDaysForward = new moment().add(4, 'day'); 
    document.write(fourDaysForward.format('DD'));
</script>
</p>

但我需要排除周末。 因此,我需要一个仅在周一至周五工作的日历。 moment.js是否可以实现,还是我需要使用其他东西?

更新 :确定,以防万一,在混乱的情况下,我想澄清更多。我希望计算日历增加4天,但不包括周末,所以如果它是星期四,而您又增加了4天,那将是星期三。 不是星期一 我如何使用它: :

当您说“我需要日历”时,是否意味着您需要UI组件?

您是否尝试过亚当·肖(Adam Shaw)的 ? 这是非常可定制的,例如:

$('#calendar').fullCalendar({
    weekends: false // will hide Saturdays and Sundays
});

使用此配置进行摆弄: :

如果语言环境将星期一指定为一周的第一天,则moment()。weekday(0)将为星期一。 如果星期日是一周的第一天,则moment()。weekday(0)将是星期日。 考虑到这一点,答案将有所不同。 下面的答案理所当然地认为moment()。weekday(0)将是星期一。

var offsets = [3, 4, 6];

for(var i = 0; i < offsets.length; i++) {
  var m = new moment().add(offsets[i], 'day');
  var weekday = m.weekday();

  // If weekday is either Saturday or Sunday, don't write.
  if(weekday !== 5 && weekday !== 6) {
    document.write(m.format('dddd MMMM DD'));
  }
}
  相关解决方案