最近的开发任务需要自己实现一个查看某年某月,每天不同事件的概览功能,展示的页面是一个日程表的形式, 所以这个功能就需要手动实现一个JS日历的功能,
日历的页面拿掉所有应该在每日显示的事件,页面需要的效果简略版如下:
由于我们的项目开发框架目前是vue,所以获取当月日历的话,重点是生成一个需要显示的当月每天是星期几的一个数组,然后for循环渲染一下就能获取我们目前所需的当月日历了,功能的开发思路概况来说分以下三个步骤:
一、先获取某年某月的总天数,生成一个当月天数的数组,分别获取当月第一天和最后一天是星期几,这样就可也先得到如下的一个月份数据;
二、如果当月第一天不是星期天,那么获取上月的的总天数,然后将从上月最近一个星期天到当月1号的这几天添加到数组,
三、如果当月最后一天不是星期六,那么只需按需取下月一号开始的几天将当月最后一天的那个星期填满就行了, 这样就得到了我们看