annotate pretty-date.js @ 1:bddbe7723643

Added john resig's pretty date lib and a 'last changed' column on report tables.
author Atul Varma <varmaa@toolness.com>
date Sun, 07 Mar 2010 14:28:52 -0800
parents
children 1c1e538d7df7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
bddbe7723643 Added john resig's pretty date lib and a 'last changed' column on report tables.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
1 /*
bddbe7723643 Added john resig's pretty date lib and a 'last changed' column on report tables.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
2 * JavaScript Pretty Date
bddbe7723643 Added john resig's pretty date lib and a 'last changed' column on report tables.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
3 * Copyright (c) 2008 John Resig (jquery.com)
bddbe7723643 Added john resig's pretty date lib and a 'last changed' column on report tables.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
4 * Licensed under the MIT license.
bddbe7723643 Added john resig's pretty date lib and a 'last changed' column on report tables.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
5 */
bddbe7723643 Added john resig's pretty date lib and a 'last changed' column on report tables.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
6
bddbe7723643 Added john resig's pretty date lib and a 'last changed' column on report tables.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
7 // Takes an ISO time and returns a string representing how
bddbe7723643 Added john resig's pretty date lib and a 'last changed' column on report tables.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
8 // long ago the date represents.
bddbe7723643 Added john resig's pretty date lib and a 'last changed' column on report tables.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
9 function prettyDate(time){
bddbe7723643 Added john resig's pretty date lib and a 'last changed' column on report tables.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
10 var date = new Date((time || "").replace(/-/g,"/").replace(/[TZ]/g," ")),
bddbe7723643 Added john resig's pretty date lib and a 'last changed' column on report tables.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
11 diff = (((new Date()).getTime() - date.getTime()) / 1000),
bddbe7723643 Added john resig's pretty date lib and a 'last changed' column on report tables.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
12 day_diff = Math.floor(diff / 86400);
bddbe7723643 Added john resig's pretty date lib and a 'last changed' column on report tables.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
13
bddbe7723643 Added john resig's pretty date lib and a 'last changed' column on report tables.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
14 if ( isNaN(day_diff) || day_diff < 0 || day_diff >= 31 )
bddbe7723643 Added john resig's pretty date lib and a 'last changed' column on report tables.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
15 return;
bddbe7723643 Added john resig's pretty date lib and a 'last changed' column on report tables.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
16
bddbe7723643 Added john resig's pretty date lib and a 'last changed' column on report tables.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
17 return day_diff == 0 && (
bddbe7723643 Added john resig's pretty date lib and a 'last changed' column on report tables.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
18 diff < 60 && "just now" ||
bddbe7723643 Added john resig's pretty date lib and a 'last changed' column on report tables.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
19 diff < 120 && "1 minute ago" ||
bddbe7723643 Added john resig's pretty date lib and a 'last changed' column on report tables.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
20 diff < 3600 && Math.floor( diff / 60 ) + " minutes ago" ||
bddbe7723643 Added john resig's pretty date lib and a 'last changed' column on report tables.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
21 diff < 7200 && "1 hour ago" ||
bddbe7723643 Added john resig's pretty date lib and a 'last changed' column on report tables.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
22 diff < 86400 && Math.floor( diff / 3600 ) + " hours ago") ||
bddbe7723643 Added john resig's pretty date lib and a 'last changed' column on report tables.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
23 day_diff == 1 && "Yesterday" ||
bddbe7723643 Added john resig's pretty date lib and a 'last changed' column on report tables.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
24 day_diff < 7 && day_diff + " days ago" ||
bddbe7723643 Added john resig's pretty date lib and a 'last changed' column on report tables.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
25 day_diff < 31 && Math.ceil( day_diff / 7 ) + " weeks ago";
bddbe7723643 Added john resig's pretty date lib and a 'last changed' column on report tables.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
26 }
bddbe7723643 Added john resig's pretty date lib and a 'last changed' column on report tables.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
27
bddbe7723643 Added john resig's pretty date lib and a 'last changed' column on report tables.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
28 // If jQuery is included in the page, adds a jQuery plugin to handle it as well
bddbe7723643 Added john resig's pretty date lib and a 'last changed' column on report tables.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
29 if ( typeof jQuery != "undefined" )
bddbe7723643 Added john resig's pretty date lib and a 'last changed' column on report tables.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
30 jQuery.fn.prettyDate = function(){
bddbe7723643 Added john resig's pretty date lib and a 'last changed' column on report tables.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
31 return this.each(function(){
bddbe7723643 Added john resig's pretty date lib and a 'last changed' column on report tables.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
32 var date = prettyDate(this.title);
bddbe7723643 Added john resig's pretty date lib and a 'last changed' column on report tables.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
33 if ( date )
bddbe7723643 Added john resig's pretty date lib and a 'last changed' column on report tables.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
34 jQuery(this).text( date );
bddbe7723643 Added john resig's pretty date lib and a 'last changed' column on report tables.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
35 });
bddbe7723643 Added john resig's pretty date lib and a 'last changed' column on report tables.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
36 };