实现日历的一种思路
程序员文章站
2022-06-09 22:00:58
...
1. 获取当月第一天是星期几, 当月总天数
//由Date对象提供的getDay()方法
var currentTime = new Date(),//当前时间
currentYear = currentTime.getFullYear(),//当前年份
currentMonth = currentTime.getMonth(),//当前月份
currentWeek = new Date(currentYear, currentMonth, 1).getDay(),//当月第一天是周几
currentTotalDay = new Date(currentYear, currentMonth + 1, 0).getDate();//当月总天数
2.计算在当月显示上个月份或者是上一年12月份的日期号
//获取上个月或者上一年12月份的总天数
//当currentMonth=0,得到的为上一年12月份总天数
var prevDateTotalDay = new Date(currentYear, currentMonth, 0).getDate();
//根据星期0, 1, 2, 3, 4, 5, 6分别对应周末至周六
//计算上个月需要展示的日期号
var prevShowDate = [];
for(var i = 0; i < currentWeek; i++) {
prevShowDate.unshift(prevDateTotalDay - i);
}
3.计算下一月或下一年需要展示的日期号
//当currentMonth=11,nextDate则为下一年一月份
//var nextDate = new Date(currentYear, currentMonth + 2, 0)
var nextShowDate = [],
nextMonthStartDay = 1;
//如果已确定当前需要展示的元素个数,比如需要展示42个或者35个
for(var j = prevShowDate.length + currentTotalDay; j < 42; j++) {
nextShowDate.push(nextMonthStartDay++);
}
上一篇: 【C语言】求一千以内的素数 第一种方法
下一篇: 我收集的一些前端面试题