hankknight
asked on
JavaScript: Minutes / Hours Ago from String
Using JavaScript, I would like to know how many minutes or hours ago a time and date are, if the time is less than 24 hours old.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Example</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script type="text/javascript">
function resetTime(d) {
d = new Date(d);
d.setHours(0);
d.setMinutes(0);
d.setSeconds(0);
d.setMilliseconds(0);
return d;
}
function formatDateTime(strDate,strCurrent) {
var dS = resetTime(strDate);
var dC = resetTime(strCurrent);
var dt = (dC-dS)/(24*3600*1000);
var arr = ["Today", "Yesterday", "Two Days Ago", "Three Days Ago"];
return (dt>=0&&dt<4)?arr[dt]:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","December"][dS.getMonth(dS)] + " " + dS.getDate() + ", " + dS.getFullYear();
}
alert( formatDateTime('9/2/2013 3:00:01 PM', '9/2/2013 3:00:07 PM' )); // Just Posted
alert( formatDateTime('9/2/2013 2:59:07 AM', '9/2/2013 3:00:07 PM' )); // 1 Minute Ago
alert( formatDateTime('9/2/2013 2:12:07 AM', '9/2/2013 3:00:07 PM' )); // 48 Minutes Ago
alert( formatDateTime('9/2/2013 2:00:01 PM', '9/2/2013 3:00:07 PM' )); // 1 Hour Ago
alert( formatDateTime('9/2/2013 1:00:01 AM', '9/2/2013 3:00:07 PM' )); // 14 Hours Ago
alert( formatDateTime('9/1/2013 11:00:07 PM', '9/2/2013 3:00:07 PM' )); // Yesterday
alert( formatDateTime('8/31/2013 11:00:07 PM', '9/2/2013 3:00:07 PM' )); // Two Days Ago
alert( formatDateTime('8/30/2013 11:00:07 PM', '9/2/2013 3:00:07 PM' )); // Three Days Ago
alert( formatDateTime('8/29/2013 11:00:07 PM', '9/2/2013 3:00:07 PM' )); // Aug 29, 2013
</script>
</head>
<body>
</body>
</html>
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.