前言:大家可以根据自己的实际需求拆分代码
ps:在产品原型上有显示星期几的,由于当时赶得紧,就没有去研究只显示了日期,现在想了想还是把它做出来吧,尽管已经它已经上线使用了
html5通用,其是 我感觉WeUI就是一套HTML5的样式库,下图是我实现的效果
后面列可以自己定义
//写一个方法求出年月份对应的天数
function mGetDate(year,month){ var d = new Date(year, month, 0); return d.getDate(); }
// 拿出一年中所有的日期
var str;// str用来存放当前的日期 因为date()返回的是一个数组直接拿来在下面使用的
function date(){ var arr = []; // 用来存放12个月每个月对应的天数 var dats = []; // 用来存放当前年所有的日期 var year = new Date.getFullYear(); // 获取当前年 var mouth = new Date.getMonth()+1; // 获取当前月 var day = dates.getDate();// 获取今天是几号 var strds = "周" + "日一二三四五六".charAt(new Date().getDay()); //获取当前是星期几 if(mouth<10){ mouth = '0'+mouth } if(day<10){ day = '0'+day } // 上面4行代码是格式处理 str = year+'-'+mouth+'-'+day+strds; // 拿出当前年月日星期几 2020-02-23周一 var strm; // 用来存放月份 var strd; // 用来存放日期 for(var i=1;i<=12;i++){ arr.push(this.mGetDate(year,i)) } //arr此时为[31,30,....]这样的数组 //遍历arr拿出月份 for(var j =0; j<arr.length;j++){ // 遍历arr[j]拿出所有的日期 for(var x = 0;x<arr[j];x++){ strm = parseInt(j+1) if(parseInt(j)<9){ strm = '0'+parseInt(j+1) } strd = parseInt(x+1) if(parseInt(x)<9){ strd = '0'+parseInt(x+1) } dats.push(year+'-'+strm+'-'+strd) } } // 此时dats为[2020-01-01,2020-01-02,.....] var zm = []; // 用来优化dats加入了星期几 for(var z = 0;z<dats.length;z++){ var strdz = "周" + "日一二三四五六".charAt(new Date(dats[z]).getDay()); zm.push({label:dats[z]+strdz,value:dats[z]+strdz}) } return zm; }
$('#eds').on('click',function(){ weui.picker( date(), [ { label: 'A', value: '0' }, { label: 'B', value: 'B' }, { label: 'C', value: 'C' } ], { defaultValue: [str, '0'], onChange: function (result) { console.log(result); }, onConfirm: function (result) { console.log(result); }, id: 'multiPickerBtn' }); });