changeset 14:1ece61eda826

Renamed pretty-date.js to date-utils.js.
author Atul Varma <varmaa@toolness.com>
date Mon, 08 Mar 2010 22:48:06 -0800
parents 1c1e538d7df7
children 306db29669c7
files date-utils.js index.html pretty-date.js
diffstat 3 files changed, 76 insertions(+), 76 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/date-utils.js	Mon Mar 08 22:48:06 2010 -0800
@@ -0,0 +1,75 @@
+// Taken from MDC @ Core_JavaScript_1.5_Reference/Objects/Date.
+function dateToISO8601(d) {
+  function pad(n) { return n < 10 ? '0' + n : n; }
+
+  return (d.getUTCFullYear() + '-' +
+          pad(d.getUTCMonth() + 1) + '-' +
+          pad(d.getUTCDate()) + 'T' + 
+          pad(d.getUTCHours()) + ':' +
+          pad(d.getUTCMinutes()) + ':' +
+          pad(d.getUTCSeconds()) + 'Z');
+}
+
+// Taken from http://delete.me.uk/2005/03/iso8601.html
+function dateFromISO8601(string) {
+    var regexp = "([0-9]{4})(-([0-9]{2})(-([0-9]{2})" +
+        "(T([0-9]{2}):([0-9]{2})(:([0-9]{2})(\.([0-9]+))?)?" +
+        "(Z|(([-+])([0-9]{2}):([0-9]{2})))?)?)?)?";
+    var d = string.match(new RegExp(regexp));
+
+    var offset = 0;
+    var date = new Date(d[1], 0, 1);
+
+    if (d[3]) { date.setMonth(d[3] - 1); }
+    if (d[5]) { date.setDate(d[5]); }
+    if (d[7]) { date.setHours(d[7]); }
+    if (d[8]) { date.setMinutes(d[8]); }
+    if (d[10]) { date.setSeconds(d[10]); }
+    if (d[12]) { date.setMilliseconds(Number("0." + d[12]) * 1000); }
+    if (d[14]) {
+        offset = (Number(d[16]) * 60) + Number(d[17]);
+        offset *= ((d[15] == '-') ? 1 : -1);
+    }
+
+    offset -= date.getTimezoneOffset();
+    var time = (Number(date) + (offset * 60 * 1000));
+    date.setTime(Number(time));
+    return date;
+}
+
+/*
+ * JavaScript Pretty Date
+ * Copyright (c) 2008 John Resig (jquery.com)
+ * Licensed under the MIT license.
+ */
+
+// Takes an ISO time and returns a string representing how
+// long ago the date represents.
+function prettyDate(time){
+	var date = dateFromISO8601(time),
+		diff = (((new Date()).getTime() - date.getTime()) / 1000),
+		day_diff = Math.floor(diff / 86400);
+			
+	if ( isNaN(day_diff) || day_diff < 0 || day_diff >= 31 )
+		return;
+			
+	return day_diff == 0 && (
+			diff < 60 && "just now" ||
+			diff < 120 && "1 minute ago" ||
+			diff < 3600 && Math.floor( diff / 60 ) + " minutes ago" ||
+			diff < 7200 && "1 hour ago" ||
+			diff < 86400 && Math.floor( diff / 3600 ) + " hours ago") ||
+		day_diff == 1 && "Yesterday" ||
+		day_diff < 7 && day_diff + " days ago" ||
+		day_diff < 31 && Math.ceil( day_diff / 7 ) + " weeks ago";
+}
+
+// If jQuery is included in the page, adds a jQuery plugin to handle it as well
+if ( typeof jQuery != "undefined" )
+	jQuery.fn.prettyDate = function(){
+		return this.each(function(){
+			var date = prettyDate(this.title);
+			if ( date )
+				jQuery(this).text( date );
+		});
+	};
--- a/index.html	Mon Mar 08 22:47:15 2010 -0800
+++ b/index.html	Mon Mar 08 22:48:06 2010 -0800
@@ -41,7 +41,7 @@
 </div>
 </body>
 <script src="jquery.js"></script>
-<script src="pretty-date.js"></script>
+<script src="date-utils.js"></script>
 <script src="bugzilla.js"></script>
 <script src="dashboard.js"></script>
 </html>
--- a/pretty-date.js	Mon Mar 08 22:47:15 2010 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-// Taken from MDC @ Core_JavaScript_1.5_Reference/Objects/Date.
-function dateToISO8601(d) {
-  function pad(n) { return n < 10 ? '0' + n : n; }
-
-  return (d.getUTCFullYear() + '-' +
-          pad(d.getUTCMonth() + 1) + '-' +
-          pad(d.getUTCDate()) + 'T' + 
-          pad(d.getUTCHours()) + ':' +
-          pad(d.getUTCMinutes()) + ':' +
-          pad(d.getUTCSeconds()) + 'Z');
-}
-
-// Taken from http://delete.me.uk/2005/03/iso8601.html
-function dateFromISO8601(string) {
-    var regexp = "([0-9]{4})(-([0-9]{2})(-([0-9]{2})" +
-        "(T([0-9]{2}):([0-9]{2})(:([0-9]{2})(\.([0-9]+))?)?" +
-        "(Z|(([-+])([0-9]{2}):([0-9]{2})))?)?)?)?";
-    var d = string.match(new RegExp(regexp));
-
-    var offset = 0;
-    var date = new Date(d[1], 0, 1);
-
-    if (d[3]) { date.setMonth(d[3] - 1); }
-    if (d[5]) { date.setDate(d[5]); }
-    if (d[7]) { date.setHours(d[7]); }
-    if (d[8]) { date.setMinutes(d[8]); }
-    if (d[10]) { date.setSeconds(d[10]); }
-    if (d[12]) { date.setMilliseconds(Number("0." + d[12]) * 1000); }
-    if (d[14]) {
-        offset = (Number(d[16]) * 60) + Number(d[17]);
-        offset *= ((d[15] == '-') ? 1 : -1);
-    }
-
-    offset -= date.getTimezoneOffset();
-    var time = (Number(date) + (offset * 60 * 1000));
-    date.setTime(Number(time));
-    return date;
-}
-
-/*
- * JavaScript Pretty Date
- * Copyright (c) 2008 John Resig (jquery.com)
- * Licensed under the MIT license.
- */
-
-// Takes an ISO time and returns a string representing how
-// long ago the date represents.
-function prettyDate(time){
-	var date = dateFromISO8601(time),
-		diff = (((new Date()).getTime() - date.getTime()) / 1000),
-		day_diff = Math.floor(diff / 86400);
-			
-	if ( isNaN(day_diff) || day_diff < 0 || day_diff >= 31 )
-		return;
-			
-	return day_diff == 0 && (
-			diff < 60 && "just now" ||
-			diff < 120 && "1 minute ago" ||
-			diff < 3600 && Math.floor( diff / 60 ) + " minutes ago" ||
-			diff < 7200 && "1 hour ago" ||
-			diff < 86400 && Math.floor( diff / 3600 ) + " hours ago") ||
-		day_diff == 1 && "Yesterday" ||
-		day_diff < 7 && day_diff + " days ago" ||
-		day_diff < 31 && Math.ceil( day_diff / 7 ) + " weeks ago";
-}
-
-// If jQuery is included in the page, adds a jQuery plugin to handle it as well
-if ( typeof jQuery != "undefined" )
-	jQuery.fn.prettyDate = function(){
-		return this.each(function(){
-			var date = prettyDate(this.title);
-			if ( date )
-				jQuery(this).text( date );
-		});
-	};