有些发布信息显示的是多少时间前的效果,
其实只需要一个方法。
参数e是某个元素,然后e.currentTarget.dataset.属性 可以获取他这个元素 绑定的某个属性的值
直接上代码,很容易理解。
/**
* 时间转换
*/
getDateDiff: function(e) {
var minute = 1000 * 60;
var hour = minute * 60;
var day = hour * 24;
var halfamonth = day * 15;
var month = day * 30;
var now = getDate(); //有些特殊 不能使用 new Date()
var diffValue = now - e.currentTarget.dataset.time;
if (diffValue < 0) {
return;
}
var monthC = diffValue / month;
var weekC = diffValue / (7 * day);
var dayC = diffValue / day;
var hourC = diffValue / hour;
var minC = diffValue / minute;
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 = "刚刚";
console.log(result);
return result;
}, //时间戳转化为几天前,几小时前,几分钟前
方法体逻辑简单,但是非常实用,效果很棒。
只要想法好,写什么东西效果都会非常好。
学习能力就是这样锻炼的。