如何使用jQuery在没有星期日的情况下获取所有日期?

我想获取一个月的所有日期。格式类似于 {2019-9-17} 但我不想在那天包括星期日。假设我一个月有 30 天,假设我们有 4 个星期日,我只想打印除星期日之外的所有日期。


PS:我正在使用 datepicker,在 jQuery datepicker 的帮助下传递月份和年份


  onClose: function() {

     var iMonth = $("#ui-datepicker-div .ui-datepicker-month :selected").val();

     var iYear = $("#ui-datepicker-div .ui-datepicker-year :selected").val();

     $(this).datepicker('setDate', new Date(iYear, iMonth, 1));

     var my_month=(parseInt(iMonth) + 1);

     console.log('datepicker month='+my_month);


      $('.test').empty();  

      var date = new Date();

      var month = date.getMonth();

      var current_date = date.getFullYear() + "-" + (date.getMonth()+1) + "-" + date.getDate();

      //console.log(current_date);

      date.setDate(1);

      var all_days = [];

      var week = [];


      while (date.getMonth() == month) {

          // Getting all days from here and storing in array named as all)days();

          var d = date.getFullYear() + '-' + my_month.toString().padStart(2, '') + '-' + date.getDate().toString().padStart(2, '0');

          all_days.push(d);


          date.setDate(date.getDate() + 1);


          //$('.test').append(all_days);

      }

console.log(all_days);

$(document).ready(function() {

    $('#txtDate').datepicker({

      changeMonth: true,

      changeYear: true,

      dateFormat: 'MM yy',

      minDate:0,

      

      onClose: function() {

         var iMonth = $("#ui-datepicker-div .ui-datepicker-month :selected").val();

         var iYear = $("#ui-datepicker-div .ui-datepicker-year :selected").val();

         $(this).datepicker('setDate', new Date(iYear, iMonth, 1));

         var my_month=(parseInt(iMonth) + 1);

         console.log('datepicker month='+my_month);

     

潇潇雨雨
浏览 134回答 2
2回答

慕的地8271018

你只需要改变你while的检查是否date.getDay()是!== 0:while (date.getMonth() == month) {//Getting all days from here and storing in array named as all)days();    if (date.getDay() === 0){        continue;    }    var d = date.getFullYear() + '-' + my_month.toString().padStart(2, '') + '-' + date.getDate().toString().padStart(2, '0');    all_days.push(d);    date.setDate(date.getDate() + 1);    //$('.test').append(all_days);}

12345678_0001

我喜欢这个函数getDaysInMonth它很容易理解,所以我扩展了它/** *  * @param {int} The month number, 0 based * @param {int} The year, not zero based, required to account for leap years * @param {Array} Which days to exclude Sunday is 0, Monday is 1, and so on. * @returns {Date[]} List with date objects  */function getDaysInMonthWithExclude(month, year, excludeweekdays) {    var date = new Date(Date.UTC(year, month, 1));    var days = [];    while (date.getMonth() === month) {        if (excludeweekdays.indexOf(date.getDay()) === -1) {            days.push(new Date(date));        }        date.setDate(date.getDate() + 1);    }    return days;}console.log(getDaysInMonthWithExclude(8, 2019, [0]));
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript