<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': '') + 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 '今天';
} else {
var newDate = new Date((curTimestamp - 86400) * 1000); // 参数中的时间戳加一天转换成的日期对象
if (newDate.getFullYear() == Y && newDate.getMonth()+1 == m && newDate.getDate() == d) {
return '昨天';
} else if (curDate.getFullYear() == Y) {
return zeroize(m) + '/' + zeroize(d) + '/';
} else {
return Y + '/' + zeroize(m) + '/' + zeroize(d) + '/';
}
}
}
console.log(wxtimestampFormat(Date.parse('2020-2-11 15:26:10')/1000)); //刚刚
console.log(wxtimestampFormat(Date.parse('2019-10-11 15:10:10')/1000)); //16分钟前
console.log(wxtimestampFormat(Date.parse('2019-10-11 10:10:10')/1000)); //今天10:10
console.log(wxtimestampFormat(Date.parse('2019-10-10 10:10:10')/1000)); //昨天10:10
console.log(wxtimestampFormat(Date.parse('2019-02-10 10:10:10')/1000)); //02月10日 10:10
console.log(wxtimestampFormat(Date.parse('2019-10-10 10:10:10')/1000)); //2012年10月10日 10:10
</script>
网友回复
为啥所有的照片分辨率提升工具都会修改照片上的图案细节?
js如何在浏览器中将webm视频的声音分离为单独音频?
微信小程序如何播放第三方域名url的mp4视频?
ai多模态大模型能实时识别视频中的手语为文字吗?
如何远程调试别人的chrome浏览器获取调试信息?
为啥js打开新网页window.open设置窗口宽高无效?
浏览器中js的navigator.mediaDevices.getDisplayMedia屏幕录像无法录制SpeechSynthesisUtterance产生的说话声音?
js中mediaRecorder如何录制window.speechSynthesis声音音频并下载?
python如何直接获取抖音短视频的音频文件url?
js在浏览器中如何使用MediaStream与MediaRecorder实现声音音频多轨道混流?