22 lines
653 B
JavaScript
22 lines
653 B
JavaScript
|
export function timeSince (timeStamp) {
|
||
|
const now = new Date()
|
||
|
const secondsPast = (now.getTime() - timeStamp) / 1000
|
||
|
if (secondsPast < 60) {
|
||
|
return parseInt(secondsPast) + 's'
|
||
|
}
|
||
|
if (secondsPast < 3600) {
|
||
|
return parseInt(secondsPast / 60) + 'm'
|
||
|
}
|
||
|
if (secondsPast <= 86400) {
|
||
|
return parseInt(secondsPast / 3600) + 'h'
|
||
|
}
|
||
|
if (secondsPast > 86400) {
|
||
|
const day = timeStamp.getDate()
|
||
|
const month = timeStamp.toDateString().match(/ [a-zA-Z]*/)[0].replace(' ', '')
|
||
|
const year = timeStamp.getFullYear() === now.getFullYear() ? '' : ' ' + timeStamp.getFullYear()
|
||
|
return day + ' ' + month + year
|
||
|
}
|
||
|
|
||
|
return 'now'
|
||
|
}
|