设置聊天回复评论自带时间格式

166 阅读1分钟
function timeAgo(time){
    ```
let result = ''
//  unit seconds
let minute = 60
let hour = minute * 60
let day = hour * 24
let week = day * 7
let month = day * 30

let now = Math.round(new Date() / 1000)

let timestamp = +new Date(time).getTime().toString().substring(0, 10)

let diffValue = now - timestamp

if (diffValue > month * 3) {
    let date = new Date(timestamp * 1000)
    if (new Date().getFullYear() === date.getFullYear()) {
        const options = {month: 'short', day: 'numeric'}
        result = new Intl.DateTimeFormat([], options).format(date)
    } else {
        const options = {dateStyle: 'medium'}
        result = new Intl.DateTimeFormat([], options).format(date)
    }
} else if (diffValue > month) {
    result = parseInt(diffValue / month) === 1 ? 'last month' : `${parseInt(diffValue / month)} months ago`
} else if (diffValue > week) {
    result = parseInt(diffValue / week) === 1 ? 'last week' : `${parseInt(diffValue / week)} weeks ago`
} else if (diffValue > day) {
    result = parseInt(diffValue / day) === 1 ? 'a day ago' : `${parseInt(diffValue / day)} days ago`
} else if (diffValue > hour) {
    result = parseInt(diffValue / hour) === 1 ? 'an hour ago' : `${parseInt(diffValue / hour)} hours ago`
} else if (diffValue > minute) {
    result = parseInt(diffValue / minute) === 1 ? 'a minute ago' : `${parseInt(diffValue / minute)} minutes ago`
} else {
    result = 'a moment ago'
}
return result

}

timeAgo('2021/9/18 14:51:58')