Date object tests

Playing with the Date object.

by Kai

HTML

<div id="result"></div>
<button id="btn-get-time-elapsed">Get Time</button>

JavaScript

var div = document.getElementById("result"),
    btn = document.getElementById("btn-get-time-elapsed");

// Accepts past_time in millisecs
function getTimeElapsed (past_time) {
    if (!past_time) { return "unknown time"; }
    
    past_time = parseInt(past_time, 10);
    
    var now = new Date().getTime(),
        years_ago = ((now - past_time) / 29030400000) >> 0,
        months_ago = ((now - past_time) / 2419200000) >> 0, 
        weeks_ago = ((now - past_time) / 604800000) >> 0,
        days_ago = ((now - past_time) / 86400000) >> 0,
        hours_ago = ((now - past_time) / 3600000) >> 0,
        minutes_ago = ((now - past_time) / 60000) >> 0,
        seconds_ago = ((now - past_time) / 1000) >> 0,
        millisecs_ago = (now - past_time) >> 0;
    
    if (years_ago === 1) {
        return "1 year";
    } else if (years_ago > 1) {
        return years_ago + " years";
    } else if (months_ago === 1) {
        return "1 month";
    } else if (months_ago > 1 && months_ago < 12) {
        return months_ago + " months";
    } else if (weeks_ago === 1) {
        return "1 week";
    } else if (weeks_ago > 1 && weeks_ago < 4) {
        return weeks_ago + " weeks";
    } else if (days_ago === 1) {
        return "1 day";
    } else if (days_ago > 1 && days_ago < 7) {
        return days_ago + " days";
    } else if (hours_ago === 1) {
        return "1 hour";
    } else if (hours_ago > 1 && hours_ago < 24) {
        return hours_ago + " hours";
    } else if (minutes_ago === 1) {
        return "1 minute";
    } else if (minutes_ago > 1 && minutes_ago < 60) {
        return minutes_ago + " minutes";
    } else if (seconds_ago === 1) {
        return "1 second";
    } else if (seconds_ago > 1 && seconds_ago < 60) {
        return seconds_ago + " seconds";
    } else if (millisecs_ago < 1000) {
        return "just now";
    }
}

function test_getTimeElapsed () {
    var now = new Date().getTime(),
        five_seconds_ago = (now - (1000 * 5)),
       ...