uniapp实现根据年份和月份手动计算天数

项目要求实现这样的效果,年份从1990-当前年份往后50年,月份1-12,每月多少天(年份,月份不同导致天数不同)需要手动计算并加入数组中如此显示

 

onLoad(options) {
    this.getDate()
},
getDate(){
				const date = new Date()
				const years = []
				const months = []
				const days = []
				for (let y = 1990; y <= date.getFullYear()*1+50; y++) {
					let obj = {};
					obj.year = y
					years.push(obj)	
				}
				years.forEach((item,index)=>{
					let arr = [];
					for (let m = 1; m <= 12; m++) {
						let obj = {};
						obj.month = m
						arr.push(obj)
					}
					item.months = arr
				})
				years.forEach((item,index)=>{
					item.months.forEach((m,idx)=>{
						let arr =[];
						if(m.month==1 || m.month==3 || m.month==5 || m.month==7 || m.month==8 || m.month==10 || m.month==12){
							for (let d = 1; d <= 31; d++) {
								let obj = {}
								obj.day = d
								arr.push(obj)
							}
							m.days = arr
						}else if(m.month==4 || m.month==6 || m.month==9 || m.month==11){
							for (let d = 1; d <= 30; d++) {
								let obj = {}
								obj.day = d
								arr.push(obj)
							}
							m.days = arr
						}else{
							if(item.year%4==0 && item.year%100!=0 || item.year%400==0){
								for (let d = 1; d <= 28; d++) {
									let obj = {}
									obj.day = d
									arr.push(obj)
								}
								m.days = arr
							}else{
								for (let d = 1; d <= 29; d++) {
									let obj = {}
									obj.day = d
									arr.push(obj)
								}
								m.days = arr
							}
						}
					})
					console.log(years);
				})
			},

得到的年份数组如下

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值