同上篇博客类似只是写法不同

Uniapp日期控件显示星期几

DOM

<view class="uni-list">
                    <view class="uni-list-cell">
                        <view class="uni-list-cell-left">
                            当前选择
                        </view>
                        <view class="uni-list-cell-db">
                            <picker mode="multiSelector" @columnchange="bindMultiPickerColumnChange" :value="multiIndex" :range="multiArray">
                                <view class="uni-input">{{multiArray[0][multiIndex[0]]}},{{multiArray[1][multiIndex[1]]}},{{multiArray[2][multiIndex[2]]}}</view>
                            </picker>
                        </view>
                    </view>

</view>

data() {
            return {
                multiArray: [
                    ['亚洲', '欧洲'],
                    ['8', '9','10','11', '12','13','14', '15','16'],
                    ['0', '30', '45']
                ],
                multiIndex: [0, 0, 0]
            }
        },
        created:function(){
            var arr = [];
            var dats = [];
            var dates = new Date;
            var year = dates.getFullYear();
            var mouth = dates.getMonth()+1;
            var day = dates.getDate();
            var strds = "周" + "日一二三四五六".charAt(new Date().getDay());
            console.log(strds);
            if(mouth<10){
                mouth = '0'+mouth
            }
            if(day<10){
                day = '0'+day
            }
            var str = year+'-'+mouth+'-'+day+strds;
            var index = 0;
            var strm;
            var strd;
            for(var i=1;i<=12;i++){
                arr.push(this.mGetDate(year,i))
            }
            for(var j =0; j<arr.length;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)
                }
            }
            
            // index 为当前日期所对应的下标。
            var zm = [];
            for(var z = 0;z<dats.length;z++){
                var strdz = "周" + "日一二三四五六".charAt(new Date(dats[z]).getDay());
                zm.push(dats[z]+strdz)
            }
            console.log(zm,'02313123')
            // this.multiArray[0] = dats // dats 为没有星期几的日期
            this.multiArray[0] = zm // dats 为没有星期几的日期
            for(var i=0;i<zm.length;i++){
                if(str == zm[i] ){
                    index = i;
                }
            }
            this.multiIndex[0] = index
        },

methods: {

mGetDate:function(year,month){
                var d = new Date(year, month, 0);
                return d.getDate();
 },

}

相关文章: