模仿微信聊天时间戳转换效果
代码语言:html
所属分类:其他
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<script> //微信聊天内容时间显示 function timestampFormat(timestamp) { function zeroize(num) { return (String(num).length == 1 ? '0': '') + num; } var curTimestamp = parseInt(new Date().getTime() / 1000); //当前时间戳 var timestampDiff = curTimestamp - timestamp; // 参数时间戳与当前时间戳相差秒数 var curDate = new Date(curTimestamp * 1000); // 当前时间日期对象 var tmDate = new Date(timestamp * 1000); // 参数时间戳转换成的日期对象 var Y = tmDate.getFullYear(), m = tmDate.getMonth() + 1, d = tmDate.getDate(); var H = tmDate.getHours(), i = tmDate.getMinutes(), s = tmDate.getSeconds(); if (timestampDiff < 60) { // 一分钟以内 return "刚刚"; } else if (timestampDiff < 3600) { // 一小时前之内 return Math.floor(timestampDiff / 60) + "分钟前"; } else if (curDate.getFullYear() == Y && curDate.getMonth()+1 == m && curDate.getDate() == d) { return '今天' + zeroize(H) + ':' + zeroize(i); } else { var newDate = new Date((curTimestamp - 86400) * 1000); // 参数中的时间戳加一天转换成的日期对象 if (newDate.getFullYear() == Y && newDate.getMonth()+1 == m && newDate.getDate() == d) { return '昨天' + zeroize(H) + ':' + zeroize(i); } else if (curDate.getFullYear() == Y) { return zeroize(m) + '月' + zeroize(d) + '日 ' + zeroize(H) + ':' + zeroize(i); } else { return Y + '年' + zeroize(m) + '月' + zeroize(d) + '日 ' + zeroize(H) + ':' + zeroize(i); } } } console.log(timestampFormat(Date.parse('2019-10-11 15:26:10')/1000)); //刚刚 console.log(timestampFormat(Date.parse('2019-10-11 15:10:10')/1000)); //16分钟前 console.log(timestampFormat(Date.parse('2019-10-11 10:10:10')/1000)); //今天10:10 console.log(timestampFormat(Date.parse('2019-10-10 10:10:10')/1000)); //昨天10:10 console.log(timestampFormat(Date.parse('2019-02-10 10:10:10')/1000)); //02月10日 10:10 console.log(timestampFormat(Date.parse('2019-10-10 10:10:10')/1000)); //2012年10月10日 10:10 //微信聊天会话列表时间显示 function wxtimestampFormat(timestamp) { function zeroize(num) { return (String(num).length == 1.........完整代码请登录后点击上方下载按钮下载查看
网友评论0