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')