【发布时间】:2019-04-15 06:32:26
【问题描述】:
目前尝试按周过滤我的数据数组,我已经能够很容易地按天过滤,但是我在 x 和 y 之间的日期(例如按周)上苦苦挣扎。
我尝试设置开始日期和结束日期(今天),然后尝试返回小于或等于开始日期和结束日期的日期,但失败了。
数据数组日期格式:dd/mm/yyyy (01/01/2000)
用户将选择使用哪个过滤器(因此 switch() )案例 7 被过滤 7 天。
computed: {
appointments: function () {
var today = new Date();
var dd = String(today.getDate()).padStart(2, '0');
var mm = String(today.getMonth() + 1).padStart(2, '0'); //January is 0!
var yyyy = today.getFullYear();
var data = this.$store.state.appointments;
this.filter1_color = "grey";
this.filter2_color = "grey";
switch (this.dateFilter) {
case 0:
break;
case 1:
console.log("case1: " + today)
return data.filter(word => word.date == today);
case 7:
/// WORKING /// (ex. edit)
var week = [];
var today = moment();
var sevenDaysBefore = today.subtract(7, 'days');
for (var i = 0; i < data.length; i++) {
let momentDate = moment(data[i].date, 'DD/MM/YYYY')
let newDate = momentDate.format("DD/MM/YYYY")
if (momentDate.isBetween(sevenDaysBefore, moment(), null, '[]')) week.push(data[i]);
}
return week
///
}
return data;
},
我需要过滤数据以仅显示数组中日期等于过去 7 天日期的项目。
【问题讨论】:
-
能用moment js这样的库吗?
-
@f-CJ 可以,我刚刚安装了它,看起来很方便 - 不过仍然需要找到解决方案。
-
是的。您需要获得本周或最近 7 天内的所有约会结果吗?
-
@f-CJ 仅过去 7 天就是我想要做的。
标签: javascript vue.js