js生成当月日历

var date = new Date();
//当前是哪一年
var year = date.getFullYear();
//当前是哪个月,注意这里的月是从0开始计数的
var month = date.getMonth();

//当前月的第一天的日期
var firstDay = new Date(year,month,1);
//第一天是星期几
var weekday = firstDay.getDay();

//求当前月一共有多少天
//new Date(year,month+1,0) : month+1是下一个月,day为0代表的是上一个月的最后一天,即我们所需的当前月的最后一天。
//getDate()则返回这个日期对象是一个月中的第几天,我们由最后一天得知这个月一共有多少天
var days = new Date(year,month+1,0).getDate();

var res = "";
//输出第一天之前的空格
for(var i=0;i<weekday;i++){
    res+="  ";
}

for(var j=1;j<=days ;j++){
    res += j+" ";
    weekday++;

    //如果是周日则换行
    if(weekday%7 == 0){
           weekday = 0;
           res += '\n';
    }
}

你可能感兴趣的:(javascript)