项目场景:
根据时间戳判断与当前时间天数相差多少天,实现根据后端传过的账号登录时间戳,判断用户多少天内活跃
实现过程
封装函数传入时间戳,返回对应的活跃状态
样例代码:
function activeHandle(logTime) {
var dNow = new Date(new Date(new Date().toLocaleDateString()).getTime());
var dPass = new Date(logTime);
var nowTime = dNow.getFullYear() + "-" + ((dNow.getMonth() + 1) < 10 ? "0" + (dNow.getMonth() + 1):(dNow.getMonth() + 1))+ "-" + (dNow.getDate() < 10 ? "0" + dNow.getDate():dNow.getDate()) + " 00:00:00"
var passTime = dPass.getFullYear() + "-" + ((dPass.getMonth() + 1) < 10 ? "0" + (dPass.getMonth() + 1):(dPass.getMonth() + 1))+ "-" + (dPass.getDate() < 10 ? "0" + dPass.getDate():dPass.getDate()) + " 00:00:00"
var rangeDateNum = (new Date(nowTime).getTime() - new Date(passTime).getTime()) / (1000 * 3600 * 24);
if (rangeDateNum == 0) {
return '今日活跃'
} else if (rangeDateNum == 1) {
return '昨日活跃'
} else if (rangeDateNum <= 7) {
return '7日活跃'
} else if (rangeDateNum <= 15) {
return '15日活跃'
} else if (rangeDateNum <= 30) {
return '30日活跃'
} else {
return '用户沉默'
}
}