完整代码如下
export function formatTime(time, option) {
if (('' + time).length === 10) time = parseInt(time) * 1000
const d = new Date(time)
const now = Date.now()
const diff = (now - d) / 1000
if (diff < 60) { // 小于1分钟
return '刚刚'
} else if (diff < 3600) { // 小于1小时
return Math.ceil(diff / 60) + '分钟前'
} else if (diff < 3600 * 24) { // 小于1天
return Math.ceil(diff / 3600) + '小时前'
} else if (diff < 3600 * 24 * 2) { // 小于两天
return '1天前'
}
if (option) {
return parseTime(time, option)
} else {
return d.getMonth() + 1 + '月' + d.getDate() + '日' + d.getHours() + '时' + d.getMinutes() + '分'
}
}
parseTime方法见另一篇文章前端js解析格式化时间,兼容时间戳、时间字符串、时间对象