var offset = 0;
exports.local = function(year, month, day, hours, minutes, seconds, milliseconds) {
var date = new Date(); date.setFullYear(year, month, day); date.setHours(hours || 0, offset + (minutes || 0), seconds || 0, milliseconds || 0); return date;
};
exports.utc = function(year, month, day, hours, minutes, seconds, milliseconds) {
var date = new Date(); date.setUTCFullYear(year, month, day); date.setUTCHours(hours || 0, minutes || 0, seconds || 0, milliseconds || 0); return date;
};
exports.zone = function(tzOffset, scope) {
return function() { var o = Date.prototype.getTimezoneOffset; try { // Note: assumes the dates are not in DST. offset = -tzOffset - new Date(0).getTimezoneOffset(); Date.prototype.getTimezoneOffset = function() { return offset; }; scope.apply(this, arguments); } finally { offset = 0; Date.prototype.getTimezoneOffset = o; } };
};