2 回答
TA贡献1936条经验 获得超6个赞
先用js计算出今天的时间,把时间格式弄成跟数据里面date格式一致,今天、昨天都可以通过js计算出来吧,把这个日期传入数组,查询出date里面与当前日期匹配的数据,然后push成一个新数组,渲染到页面就行了。代码就不贴了吧,实际上就一个计算日期和通过日期查询数据的过程。
TA贡献2036条经验 获得超8个赞
你的数据应该是按照时间顺序的,先计算出今天昨天前天一周前你需要的分组时间,然后遍历数组比较
var data = data;
var flagn = 0;
var flagb1 = 0;
var flagb3 = 0;
var flagb7 = 0;
var flagb9 = 0;
for (var i = 0; i < data.length; i++) {
data[i].date = null;
var secondTime = data[i].time;
//获取 0:0 的时间戳
var nowDate = new Date(new Date().setHours(0, 0, 0, 0));
var before1Date = new Date(new Date(new Date().setDate(new Date().getDate() - 1)).setHours(0, 0, 0, 0));
var before3Date = new Date(new Date(new Date().setDate(new Date().getDate() - 3)).setHours(0, 0, 0, 0));
var before7Date = new Date(new Date(new Date().setDate(new Date().getDate() - 7)).setHours(0, 0, 0, 0));
if (secondTime >= nowDate) {
if (flagn == 0) { //第一个就加入一个标志 用来在渲染的时候判断显示今天
data[i].date = '今天';
flagn = 1;
}
} else if (secondTime >= before1Date) {
if (flagb1 == 0) {
data[i].date = '昨天';
flagb1 = 1;
}
} else if (secondTime >= before3Date) {
if (flagb3 == 0) {
data[i].date = '三天前';
flagb3 = 1;
}
} else if (secondTime >= before7Date) {
if (flagb7 == 0) {
data[i].date = '一周前';
flagb7 = 1;
}
} else {
if (flagb9 == 0) {
data[i].date = '很久以前';
flagb9 = 1;
}
}
}
return data;
添加回答
举报