uniapp 类似钉钉的消息时间段显示

摘要:
1、 <!--时间发送--->divv if=“withinArry.indexOf(j)==-1”>{{timeChange(item.create_time)}}</div>2.WithinArray:[]3.//对于5分钟内发送的消息,下标varwithin=[];对于(varia=0;i<this.history.length;i++){//Judge

1、

<!-- 时间发送 -->
<div v-if="withinArry.indexOf(j) ==-1">
{{timeChange(item.create_time)}}
</div>

2、

withinArry:[]

3、

// 用于存在小于5分钟内发的信息的下标
var within=[];
for (var i = 0; i < this.history.length; i++) {
// 判断两两之间的长度是否在中长度之内
if(this.history.length >= (i+2)){
// 两两相减获取时间戳差 (IOS系统只识别 " / " 不识别 " - ")
var lst = Date.parse(this.history[i+1].create_time.replace(/-/g, '/')) - Date.parse(this.history[i].create_time.replace(/-/g, '/'));
//(60000 == 一分钟)
if(lst < 300000){
//获取小于5分钟的信息的下标存到数组中
within.push(i+1)
within.forEach((item,i)=>{
//6条信息后显示一次发送时间
if(item % 6 ==0){
within.splice(i, 1);
// console.log(item)
}else{
return true;
}
})
this.withinArry = within;
console.log(within)
}
}
}

4、

// 是否为今年
isYear (timeValue) {
var dateyear = new Date(timeValue).getFullYear()
var toyear = new Date().getFullYear()
// console.log(dateyear, toyear)
if (dateyear === toyear) {
return true
} else {
return false
}
},
formatTime (date) {
var t = this.getTimeArray(date)
return [t[0], t[1], t[2]].map(this.formatNumber).join('-') + ' ' + [t[3], t[4], t[5]].map(this.formatNumber).join(':')
},
getTimeArray (date) {
date = new Date(date)
var year = date.getFullYear()
var month = date.getMonth() + 1
var day = date.getDate()
var hour = date.getHours()
var minute = date.getMinutes()
var second = date.getSeconds()
return [year, month, day, hour, minute, second].map(this.formatNumber)
},
// 转化日期 如2018-7-6 -->(2018-07-06)
formatNumber (n) {
n = n.toString()
return n[1] ? n : '0' + n
},
isYestday (timeValue) { // 是否为昨天
var date = new Date(timeValue)
var today = new Date()
if (date.getFullYear() === today.getFullYear() && date.getMonth() === today.getMonth()) {
if ((today.getDate()) - (date.getDate()) === 1) {
return true
} else {
return false
}
} else {
return false
}
},
// 时间计算与格式的改变
timeChange (timeValue) {
// 切记 IOS系统只识别 " / " 不识别 " - "
timeValue = Date.parse(timeValue.replace(/-/g, '/'));
var timeNew = new Date().getTime(); // 当前时间
// console.log('传入的时间', timeValue, timeNew)
var timeDiffer = timeNew - timeValue; // 与当前时间误差
// console.log('时间差', timeDiffer)

var returnTime = '';
if (timeDiffer <= 60000) { // 一分钟内
returnTime = '刚刚';
} else if (timeDiffer > 60000 && timeDiffer < 600000) { // 10分钟内
returnTime = Math.floor(timeDiffer / 60000) + '分钟前';
} else if (timeDiffer >= 600000 && timeDiffer < 86400000 && this.isYestday(timeValue) === false) { // 今日
returnTime = this.formatTime(timeValue).substr(11, 5);
console.log(this.isYestday(timeValue));
} else if (timeDiffer > 600000 && this.isYestday(timeValue) === true) { // 昨天
returnTime = '昨天' + this.formatTime(timeValue).substr(11, 5);
} else if (timeDiffer > 86400000 && this.isYestday(timeValue) === false && this.isYear(timeValue) === true) { // 今年
returnTime = this.formatTime(timeValue).substr(5, 11);
} else if (timeDiffer > 86400000 && this.isYestday(timeValue) === false && this.isYear(timeValue) === false) { // 不属于今年
returnTime = this.formatTime(timeValue).substr(0, 16);
}

return returnTime;

}

 uniapp 类似钉钉的消息时间段显示第1张

免责声明:文章转载自《uniapp 类似钉钉的消息时间段显示》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇c#基础之异常处理pytest实例下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

C# 获取枚举 Enum 变量值的 Description 属性

如何在C#中读取枚举值的描述属性?有以下枚举:123456 public enum enum Langage{[System.ComponentModel.Description]Chinese,English}我们希望得到的是中文中的“Chinese”描述。123456789 publicstringGetEnumDescription{stringstr...

Android 上的 10 款 Web 开发工具推荐

作为一个狂热的Android用户,我一直在寻找适合Web开发人员使用的一些应用程序。以下推荐10款非常实用的Android端的Web开发工具。EditorJoooid1.1Editor这款工具非常适合用来发布包含HTML、文本、图片和相册的文章,还包含了GPL定位信息。...

CentOS7 初始化配置

允许新TCP连接net.ipv4.TCP _ tw_ reuse=1net.ipv4.TCP _ mem=945000009150000009270000000net.ipv4 TCP _ fin_ Timeout=1#启用keepalive时,TCP发送keepalive消息的频率。默认值为2小时net.ipv4.tcp _keepalive_Time=3...

allure报告实现保存失败用例截图功能

allure中可以保存日志信息和截图日志allure能够自动识别。截图需要自己在添加allure方法。...

Linux 安装.src.rpm源码包的方法

接下来是rpm安装过程。...

uni.showModal,uni.showToast使用

uni.showModal({title:'提示',content:'您已参加并通过本次考试,是否再次进行考试?...