| 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; | |
| } | |
| }; | |
| }; |