vue uview获取本周上周本月前三个月的时间,按需求自行调整

<view class="iconfont-menu-position"> <span class="iconfont-menu-icon">{{timeIcon}}</span><span
					class="choose-font">时间</span></view>
			<view class="complain">
				<view class="type">
					<view class="type-view">
						<view class="type-li" v-for="(item, index) in date" :key="index"
							@click="setStatus(item,index,date)">
							<view class="iconfont-menu-time"
								:class="{ bgcolor:item.status?0:1,fontcolor :item.status?0:1 }">
								{{ item.name }}
							</view>
						</view>

					</view>
				</view>

			</view>
			<!-- 开始日期 -->
			<view class=" displayDate-start">
				<view v-if="startTime">{{startTime}}</view>

			</view>
			<view class="upay-incomeTotal-center">

			</view>
			<!-- 结束日期 -->
			<view class="displayDate-end">
				<view v-if="endTime">{{endTime}}</view>
			</view>

这是我的方法逻辑:

		setStatus(item, index, date) {
				// 默认查询上周日期
				if (date == 1) {
					var date = this.query('lastWeek');
				} else {

					if (item.status == true) {
						this.$set(item, "status", false)
						var dateName = item.name;
						for (var i = 0; i < date.length; i++) {
							if (date[i].name != dateName) {
								this.$set(date[i], "status", true)
							}
						}
						// 显示日期
						if (dateName == '本周') {
							var date = this.query('weeks');
						}
						if (dateName == '上周') {
							var date = this.query('lastWeek');
						}
						if (dateName == '本月') {
							var date = this.query('month');
						}
						if (dateName == '三月') {
							var date = this.query('threeMonths');
						}
					}
				}
			},

 下面是获取日期的方法

			//获取时间、
			//时间解析;
			Time: function(now) {
				let year = new Date(now).getFullYear();
				let month = new Date(now).getMonth() + 1;
				let date = new Date(now).getDate();
				if (month < 10) month = "0" + month;
				if (date < 10) date = "0" + date;
				return year + "-" + month + "-" + date
			},
			//本周第一天;
			showWeekFirstDay: function() {
				let Nowdate = new Date();
				let WeekFirstDay = new Date(Nowdate - (Nowdate.getDay() - 1) * 86400000);
				let M = Number(WeekFirstDay.getMonth()) + 1;
				if (M < 10) {
					M = "0" + M;
				}
				let D = WeekFirstDay.getDate();
				if (D < 10) {
					D = "0" + D;
				}
				return WeekFirstDay.getFullYear() + "-" + M + "-" + D;
			},
			//本周最后一天
			showWeekLastDay: function() {
				let Nowdate = new Date();
				let WeekFirstDay = new Date(Nowdate - (Nowdate.getDay() - 1) * 86400000);
				let WeekLastDay = new Date((WeekFirstDay / 1000 + 6 * 86400) * 1000);
				let M = Number(WeekLastDay.getMonth()) + 1;
				if (M < 10) {
					M = "0" + M;
				}
				let D = WeekLastDay.getDate();
				if (D < 10) {
					D = "0" + D;
				}
				return WeekLastDay.getFullYear() + "-" + M + "-" + D;
			},
			//获得某月的天数:
			getMonthDays: function(myMonth) {
				let monthStartDate = new Date(new Date().getFullYear(), myMonth, 1);
				let monthEndDate = new Date(new Date().getFullYear(), myMonth + 1, 1);
				let days = (monthEndDate - monthStartDate) / (1000 * 60 * 60 * 24);
				return days;
			},
			//点击事件
			query: function(way) {
				switch (way) {
					case 'weeks':
						this.startTime = this.showWeekFirstDay();
						console.log(this.startTime)
						this.endTime = this.showWeekLastDay();
						break;
					case 'lastWeek':
						this.startTime = this.Time(new Date(new Date().getFullYear(), new Date().getMonth(), new Date()
							.getDate() - new Date().getDay() - 6));
						this.endTime = this.Time(new Date(new Date().getFullYear(), new Date().getMonth(), new Date()
							.getDate() + (6 - new Date().getDay() - 6)));
						break;
					case 'month':
						this.startTime = this.Time(new Date(new Date().getFullYear(), new Date().getMonth(), 1));
						console.log()
						var days = this.getMonthDays(new Date().getMonth());
						console.log(days)
						this.endTime = this.Time(new Date(new Date().getFullYear(), new Date().getMonth(), days));
						break;
					case 'threeMonths':
						this.startTime = this.Time(new Date(new Date().getFullYear(), new Date().getMonth() - 2, 1));
						var days = this.getMonthDays(new Date().getMonth());
						this.endTime = this.Time(new Date(new Date().getFullYear(), new Date().getMonth(), days));
						break;
				}
			}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

庞胖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值