Skip to content

Instantly share code, notes, and snippets.

@graygilmore
Created November 10, 2012 00:41
Show Gist options
  • Save graygilmore/4049249 to your computer and use it in GitHub Desktop.
Save graygilmore/4049249 to your computer and use it in GitHub Desktop.
Time Difference
function timeDifference(current, previous) {
var msPerMinute = 60 * 1000;
var msPerHour = msPerMinute * 60;
var msPerDay = msPerHour * 24;
var msPerMonth = msPerDay * 30;
var msPerYear = msPerDay * 365;
var elapsed = current - previous;
if (elapsed < msPerMinute) {
return 'less than a minute ago';
}
else if (elapsed < msPerHour) {
if( Math.round(elapsed/msPerMinute) === 1 ) {
return '1 minute ago';
} else {
return Math.round(elapsed/msPerMinute) + ' minutes ago';
}
}
else if (elapsed < msPerDay ) {
if( Math.round(elapsed/msPerHour) === 1 ) {
return '1 hour ago';
} else {
return Math.round(elapsed/msPerHour ) + ' hours ago';
}
}
else if (elapsed < msPerMonth) {
if( Math.round(elapsed/msPerDay) === 1 ) {
return '1 day ago';
} else {
return Math.round(elapsed/msPerDay) + ' days ago';
}
}
else if (elapsed < msPerYear) {
if( Math.round(elapsed/msPerMonth) === 1 ) {
return '1 month ago';
} else {
return Math.round(elapsed/msPerMonth) + ' months ago';
}
}
else {
if( Math.round(elapsed/msPerYear) === 1 ) {
return '1 year ago';
} else {
return Math.round(elapsed/msPerYear ) + ' years ago';
}
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment