// 当前时间距离消息获取时间间隔
export function getFormattedTime(timeStamp: number): String {
const dateTime = new Date(timeStamp)
const now = new Date()
const difference = now.getTime() - dateTime.getTime()
if (difference < 5000) {
// 5 秒之内
return 'now'
} else if (difference < 60 * 1000) {
// 1 分钟之内
return `${Math.floor(difference / 1000)}s`
} else if (difference < 60 * 60 * 1000) {
// 1 小时之内
return `${Math.floor(difference / (60 * 1000))}m`
} else if (difference < 24 * 60 * 60 * 1000) {
// 1 天之内
return `${Math.floor(difference / (60 * 60 * 1000))}h`
} else if (difference < 7 * 24 * 60 * 60 * 1000) {
// 1 周之内
return `${Math.floor(difference / (24 * 60 * 60 * 1000))}d`
} else {
// 小于1年返回日期
if (dateTime.getFullYear() === now.getFullYear()) {
return `${dateTime.getDate()}/${dateTime.getMonth() + 1}`
} else {
return `${dateTime.getDate()}/${dateTime.getMonth() + 1}/${dateTime.getFullYear()}`
}
}
}
// 获取消息时间 分钟、AM、PM
export function getMsgTime(timestamp: number) {
const dateTime = new Date(timestamp)
const hours = dateTime.getHours()
const minutes = dateTime.getMinutes()
const ampm = hours >= 12 ? 'PM' : 'AM'
return `${hours}:${minutes} ${ampm}`
}