Skip to content

Instantly share code, notes, and snippets.

@truongluu
Last active November 28, 2020 08:38
Show Gist options
  • Select an option

  • Save truongluu/467b24ff04b8cb57e87402162abf77bf to your computer and use it in GitHub Desktop.

Select an option

Save truongluu/467b24ff04b8cb57e87402162abf77bf to your computer and use it in GitHub Desktop.
Time difference
function timeDifference(current, previous) {
const milliSecondsPerMinute = 60 * 1000
const milliSecondsPerHour = milliSecondsPerMinute * 60
const milliSecondsPerDay = milliSecondsPerHour * 24
const milliSecondsPerMonth = milliSecondsPerDay * 30
const milliSecondsPerYear = milliSecondsPerDay * 365
const elapsed = current - previous
if (elapsed < milliSecondsPerMinute / 3) {
return 'just now'
}
if (elapsed < milliSecondsPerMinute) {
return 'less than 1 min ago'
} else if (elapsed < milliSecondsPerHour) {
return Math.round(elapsed / milliSecondsPerMinute) + ' min ago'
} else if (elapsed < milliSecondsPerDay) {
return Math.round(elapsed / milliSecondsPerHour) + ' h ago'
} else if (elapsed < milliSecondsPerMonth) {
return Math.round(elapsed / milliSecondsPerDay) + ' days ago'
} else if (elapsed < milliSecondsPerYear) {
return Math.round(elapsed / milliSecondsPerMonth) + ' mo ago'
} else {
return Math.round(elapsed / milliSecondsPerYear) + ' years ago'
}
}
export function timeDifferenceForDate(date) {
const now = new Date().getTime()
const updated = new Date(date).getTime()
return timeDifference(now, updated)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment