为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

潇潇雨雨 2021-10-21 10:26:16
我想获取一个月的所有日期。格式类似于 {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);     
查看完整描述

2 回答

?
慕的地8271018

TA贡献1796条经验 获得超4个赞

你只需要改变你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);

}


查看完整回答
反对 回复 2021-10-21
?
12345678_0001

TA贡献1802条经验 获得超5个赞

我喜欢这个函数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]));


查看完整回答
反对 回复 2021-10-21
  • 2 回答
  • 0 关注
  • 133 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信