Skip to content

Commit

Permalink
fixed relatize date
Browse files Browse the repository at this point in the history
  • Loading branch information
rsms committed Apr 22, 2010
1 parent ffbbe98 commit 0f9604e
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 4 deletions.
13 changes: 10 additions & 3 deletions client/lib/jquery.relatize_date.js
Expand Up @@ -24,13 +24,20 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
(function($) { (function($) {
$.fn.relatizeDate = function() { $.fn.relatizeDate = function() {
return $(this).each(function() { return $(this).each(function() {
if ($(this).hasClass( 'relatized' )) return; var $q = $(this);
$(this).text( $.relatizeDate(this) ).addClass( 'relatized' ); if ($q.hasClass('date-relatized')) return;
$q.text($.relatizeDate($q)).addClass('date-relatized');
}); });
}; };


$.relatizeDate = function(element) { $.relatizeDate = function(element) {
return $.relatizeDate.timeAgoInWords( new Date($(element).text()) ); var n, value = $(element).text(), date;
if (!isNaN((n = Number(value)))) {
date = Date.fromUTCTimestamp(n);
} else {
date = new Date(value);
}
return $.relatizeDate.timeAgoInWords(date);
}; };


// shortcut // shortcut
Expand Down
34 changes: 33 additions & 1 deletion client/lib/std-additions/date.js
@@ -1,2 +1,34 @@

Date.distantFuture = new Date((new Date()).getTime()+9000000000000); Date.distantFuture = new Date((new Date()).getTime()+9000000000000);
Date.distantPast = new Date(0);
Date.timezoneOffset = 0; // Standard offset in milliseconds
Date.timezoneDSTOffset = 0; // DST offset in milliseconds

// timestamp should be in milliseconds since the epoch, UTC
Date.fromUTCTimestamp = function(timestamp) {
timestamp = parseInt(timestamp);
if (isNaN(timestamp))
throw new Error('Date.fromUTCTimestamp failed to parse integer argument');
return new Date(timestamp+Date.timezoneOffset);
};

Date.currentUTCTimestamp = function() {
return (new Date()).toUTCTimestamp();
};

Date.recalculateOffsets = function() {
var rightNow = new Date(),
date1 = new Date(rightNow.getFullYear(), 0, 1, 0, 0, 0, 0),
date2 = new Date(rightNow.getFullYear(), 6, 1, 0, 0, 0, 0),
temp = date1.toGMTString(),
date3 = new Date(temp.substring(0, temp.lastIndexOf(" ")-1)),
date4;
temp = date2.toGMTString();
date4 = new Date(temp.substring(0, temp.lastIndexOf(" ")-1));
// standard offset, not counting DST
Date.timezoneOffset = (date3 - date1);
// offset including DST
Date.timezoneDSTOffset = (date4 - date2);
};

// calculate timezone offset at load-time
Date.recalculateOffsets();

0 comments on commit 0f9604e

Please sign in to comment.