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)),
...