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

时间:2015-07-17 20:51:25

标签: javascript jquery momentjs

我使用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就会是星期三。不是周一 我如何使用它:http://www.brokenarrowwear.com/responsivedesign/information/fast-turnaround.html

2 个答案:

答案 0 :(得分:0)

当您说“我需要一个日历”时,您是否需要一个UI组件?

你有没有尝试过Adam Shaw的http://fullcalendar.io/?它非常可定制,例如:

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

摆弄此配置:http://jsfiddle.net/jq7bgpdz/

答案 1 :(得分:0)

如果语言环境将星期一指定为一周的第一天,则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'));
  }
}