ESRMeter taken from http://members.shaw.ca/swstuff/esrmeter.html (find website on internet archive). Offered here with permission.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

54 lines
1.8 KiB

/** timestamp namespaced methods **/
var __wbTs = (function() {
function _split_timestamp(timestamp) {
if(typeof timestamp == "number") {
timestamp = timestamp.toString();
}
return [
timestamp.slice(-14, -10),
timestamp.slice(-10, -8),
timestamp.slice(-8, -6),
timestamp.slice(-6, -4),
timestamp.slice(-4, -2),
timestamp.slice(-2)
];
}
var MONTHS_LONG = [
"January", "February", "March", "April", "May", "June",
"July", "August", "September", "October", "November", "December"
];
var MONTHS_SHORT = [
"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep",
"Oct", "Nov", "Dec"
];
var FIELDS = {
'Y': function(d) { return d.getUTCFullYear() },
'm': function(d) { return d.getUTCMonth() + 1 },
'b': function(d) { return MONTHS_SHORT[d.getUTCMonth()] },
'B': function(d) { return MONTHS_LONG[d.getUTCMonth()] },
'd': function(d) { return d.getUTCDate() },
'H': function(d) { return ('0'+d.getUTCHours()).slice(-2) },
'M': function(d) { return ('0'+d.getUTCMinutes()).slice(-2) },
'S': function(d) { return ('0'+d.getUTCSeconds()).slice(-2) },
'%': function() { return '%' }
};
function timestamp2datetime(timestamp) {
var ts_array = _split_timestamp(timestamp);
return new Date(Date.UTC(
ts_array[0], ts_array[1]-1, ts_array[2],
ts_array[3], ts_array[4], ts_array[5]
));
}
return {
timestamp2datetime: timestamp2datetime,
getMonthName: function(mon) {
return MONTHS_LONG[mon];
},
format: function(timestamp, fmt) {
return fmt.replace(/%./g, function(ph) {
var field = FIELDS[ph[1]];
return field ? field(timestamp2datetime(timestamp)) : ph;
});
}
}
})();