Skip to main content
3 of 4
added 54 characters in body; edited tags
Sky Sanders
  • 12.1k
  • 3
  • 32
  • 60

Dev-Tip: How to format time since xxx e.g. "4 minutes ago" similar to Stack Exchange sites

function timeSince(date) {

    var seconds = Math.floor((new Date() - date) / 1000);

    var interval = Math.floor(seconds / 31536000);

    if (interval > 1) {
        return interval + " years";
    }
    interval = Math.floor(seconds / 2592000);
    if (interval > 1) {
        return interval + " months";
    }
    interval = Math.floor(seconds / 86400);
    if (interval > 1) {
        return interval + " days";
    }
    interval = Math.floor(seconds / 3600);
    if (interval > 1) {
        return interval + " hours";
    }
    interval = Math.floor(seconds / 60);
    if (interval > 1) {
        return interval + " minutes";
    }
    return Math.floor(seconds) + " seconds";
}

Post an implementation in your language of choice.

Sky Sanders
  • 12.1k
  • 3
  • 32
  • 60