第一次写博客也不知道怎么个描述~
就简单明了的说一下
模仿朋友圈吧
一.我个人觉得就时间上处理有一点难
做出的效果
直接上代码~
db.collection("recruit_add_work").orderBy("createTime","desc").get({
success(res) {
infomation = res.data
console.log(res)
// 数组对象拼接字符串
for (let i = 0; i<infomation.length; i++) {
// 定义两个局部变量用来最后的数据渲染
var time
var state
var src = "detailedInformation[" + i + "].src"
var title = "detailedInformation[" + i + "].title"
var content = "detailedInformation[" + i + "].content"
var timer = "detailedInformation[" + i + "].timer"
var type = "detailedInformation[" + i + "].type"
// 获取每一天数据添加时间
let addTime = infomation[i].addTime
console.log(addTime)
// 将获取到字符的时间拆分为数组便于操作
addTime = addTime.split("")
console.log(addTime)
// 定义day/day_用来存放添加的日期
let day = addTime[8]
let day_ = addTime[9]
console.log(day + day_)
// 获取当前时间
let nowTime = new Date()
// 获取当前天是几号
nowTime.getDate()
// 判断当前的日期是否等于添加的日期
if ((day + day_) == nowTime.getDate()) {
console.log("日期" + day + day_)
// 如果当前日期等于添加的日期/而判断在同一天中是否是同一个小时
// 定义hour/hour_用来存放添加的小时
let hour = addTime[13]
let hour_ = addTime[14]
// 判断是否是同一个小时
if ((hour + hour_) == nowTime.getHours()) {
console.log("小时" + hour + hour_)
// 定义minute/minute_用来存放添加的分钟
let minute = addTime[16]
let minute_ = addTime[17]
console.log("分钟" + minute + minute_)
// 全局变量time用来做传递最终参数的纽带
// 将添加时间赋值给全局time
time = minute + minute_
// 获取当前分钟
let nowMinute = nowTime.getMinutes()
// 分钟差值计算:当前分钟-添加分钟
time = nowMinute - time+1
console.log(time)
// state全局属性值
state = "分钟前"
console.log(state)
} else {
// 如果是同一天但是不是同一个小时则进行小时差值计算
time = hour + hour_
// 获取当前小时
let nowHours = nowTime.getHours()
// 小时差计算
time = nowHours - time
state = "小时前"
console.log(state)
}
} else {
// 若不是同一天
console.log("不是同一天" + (day + day_))
// 天数差值计算
// 用现在的日期-添加的日期如果差值等于1代表是昨天
if (nowTime.getDate() - (day + day_) == 1) {
console.log("是昨天")
state = "昨天"
} else {
// 差值不等于1则显示添加时间的月/日/时/分
time = addTime[5] + addTime[6] + "-" + addTime[8] + addTime[9] + " " + addTime[13] + addTime[14] + ":" + addTime[16] + addTime[17]
console.log(time),
// 此时属性值为空
state=""
}
}
// 将上面最终的值渲染到页面
that.setData({
[src]: infomation[i].userInfo.avatarUrl,
[title]: infomation[i].userInfo.nickName,
[content]: infomation[i].detailed_information.own,
[timer]: time,
[type]:state
})
}
}
})
主要思想是在添加数据到数据库的时候添加时间(注:要转换一下格式)
如图这样的格式
一般默认的格式是这样的
像这种时间格式,后面排序的时候会用到
在获取到数据后把addTime也获取到,让后进行split(“”)把它转换成数组便于操作
首先我们需要的数据是日,小时,分钟
之后进行if()来判断
if(如果是同一天){
if(如果是同一个小时){
就用现在的时间减去添加的时间=分钟差值
}
}
如果是同一天但是不是同一个小时
else{
就用现在的小时-减去添加的小时=小时差值
}
else{
不是同一天
if(添加的天数-现在的天数=1)
等于1就是昨天
}
else{
就帮添加的时间渲染上去
}
createTime
```标准时间格式用来做排序
因为在我们获取数据库的时候默认是最先添加的最后显示出来,
所以说我们用这个时间来进行排序.orderBy("createTime","desc")
这样就可以得到最新添加到数据库的数据在最前面了.........................
emmmm就这样吧..................