频道栏目
首页 > 资讯 > HTML/CSS > 正文

微信小程序日期选择器

17-04-15        来源:[db:作者]  
收藏   我要投稿

微信小程序日期选择器:解决了系统自带的日期选择器未解决的平闰年和大小月的天数限制,废话不多说 上图上代码。

const date = new Date()
const years = []
const months = []
const days = []
const daysX = []
const daysD = []
const daysP = []
const daysR = []
var mDay

for (let i = 1900; i <= date.getFullYear(); i++) {
    years.push(i)
}
for (let i = 1 ; i <= 12; i++) {
    months.push(i)
}

for (let i = 1 ; i <= 31; i++) {
    days.push(i)
}
for (let i = 1 ; i <= 30; i++) {
    daysX.push(i)
}
for (let i = 1 ; i <= 31; i++) {
    daysD.push(i)
}
for (let i = 1 ; i <= 28; i++) {
    daysP.push(i)
}
for (let i = 1 ; i <= 29; i++) {
    daysR.push(i)
}

Page({
    data: {
        years: years,
        year: date.getFullYear(),
        months: months,
        month: 1,
        days: days,
        day: 1,
        year: date.getFullYear(),
        value: [9999, 0, 0],
    },
    bindChange: function(e) {
        const val = e.detail.value
        var mdays
        let year = this.data.years[val[0]]
        let month = this.data.months[val[1]]
        let day = this.data.days[val[2]]
        if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0){
            mdays = daysR
        }else{
            mdays = daysP
        }
        if(month == 4 || month == 6 || month == 9 || month == 11){
            mdays = daysX
        }else if(month == 1 || month == 3 || month == 5 || month == 7 | month == 8 | month == 10 | month == 12){
            mdays = daysD
        }
        this.setData({
            year,
            month,
            day,
            days:mdays
        })
    }
})

WXML代码


    {{year}}年{{month}}月{{day}}日
    
        
            {{item}}年
        
        
            {{item}}月
        
        
            {{item}}日
        
    



相关TAG标签
上一篇:cocos2d-x cpp-test学习
下一篇:在Ubuntu上用anaconda3安装opencv3
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站