ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
> 参考: - https://www.jq22.com/demo/Simple-Calendar-gh-pages20160826/ - https://github.com/jdf2e/nutui/blob/v2-dev/src/utils/date.js > 想法 - 当疫情来了后,需要能设置放假时间单独处理(如果疫情时间过了两年、三年)。 - 业务与视图分开(这样可以自定义视图了) - 文档进行 ### 某个月有多少天 > 使用 getDate 方法。注意:月必须得减一 ``` function getDays(year,tmonth) { var day = new Date(year,tmonth - 1,0);// 获取当前第几天 return day.getDate() } getDays('2020','3') ``` ### 获取当前时间 > ### 格子日历 > 一般我们循环一个月内时间是咋样的对吧,如果是格子日历的话,需要遍历 35个格子,都能填满 ```js function run (meDate = new Date()) { let tyear = meDate.getFullYear(); let tmonth = meDate.getMonth() + 1; let tday = meDate.getDate();// 当前月有几天 var day = new Date(tyear,tmonth - 1,1);// 获取当前第几天 var week = day.getDay(); // 获取当前星期几 if (week == 0){ week = 7; } //计算得到第一个格子的日期 var thispageStart = new Date(Date.parse(day) - (week - 1) * 24 * 3600 * 1000); console.log(thispageStart) //对每一个格子遍历 for (var i = 0; i < 35; i++) { var theday = new Date(Date.parse(thispageStart) + i * 24 * 3600 * 1000); var writeyear = theday.getFullYear(); var writeday = theday.getDate(); var writemonth = theday.getMonth() + 1; if (writemonth != tmonth ) { console.log('不是当月的:'+writeyear + '-' + writemonth + '-' + writeday) // console.log(writemonth); // 不是当前的月,如果不是当期月份的,样式就是别的 }else { console.log('当月的:'+writeyear + '-' + writemonth + '-' + writeday) } // console.log(writeyear + '-' + writemonth + '-' + writeday) //添加today样式 // 如果是今天的话,那么就得重新来获取了。 if (tyear == writeyear && tday == writeday && tmonth == writemonth) { // console.log() } } } run(); ``` >