对于小程序的时间个性化显示,适用于评论时间的发布,关注时间的显示,浏览痕迹时间的显示等.可以自动判断距离当前时间下的距离(例如,刚刚发表评论,1小时前评论,1天前评论...)
//这里是获取时间的js,将获取到的时间传入函数getDateDiff()中,处理后返回给当前js,再渲染到前台
//建议下面的getDateDiff()函数封装到其他文件(js文件)里面,使用时引入
//传入格式化时间(如果是时间戳,请自行调整getDateDiff()函数代码)所在js
import dateTimeStamp from '../../utils/browsetime.js';//引入工具类js,browsetime.js是我封装getDateDiff()所在的js
for (var data of alldata.data) {
var time = dateTimeStamp(data.browse_time);
data.browse_time = time;
}//这里的alldata是接口获取到的数组,time在该数组里,所以需要用for循环(可以根据实际情况替换time)
//这里是封装的browsetime.js文件
//JavaScript函数:
var minute = 60;
var hour = minute * 60;
var day = hour * 24;
var halfamonth = day * 15;
var month = day * 30;
function getDateDiff(dateTimeStamp) {
var now = new Date().getTime() / 1000;
var tmp_time = new Date(dateTimeStamp).getTime() / 1000;//将查询到的格式化时间转换为时间戳
// console.log("当前的时间戳" + now);
// console.log("获得的时间戳" + tmp_time);
var diffValue = now - tmp_time;
if (diffValue < 0) {
//若日期不符则弹出窗口告之
//alert("结束日期不能小于开始日期!");
}
var monthC = diffValue / month;
var weekC = diffValue / (7 * day);
var dayC = diffValue / day;
var hourC = diffValue / hour;
var minC = diffValue / minute;
// console.log("月"+monthC);
// console.log("周"+weekC);
// console.log("日"+dayC);
// console.log("时"+hourC);
// console.log("分"+minC);
var result = '';
if (monthC >= 1) {
result = parseInt(monthC) + "个月前";
}
else if (weekC >= 1) {
result = parseInt(weekC) + "周前";
}
else if (dayC >= 1) {
result = parseInt(dayC) + "天前";
}
else if (hourC >= 1) {
result = parseInt(hourC) + "个小时前";
}
else if (minC >= 1) {
result = parseInt(minC) + "分钟前";
} else{
result = "刚刚访问";
}
return result;
}
export default getDateDiff;