diff options
| -rw-r--r-- | src/ng/filter/filters.js | 3 | ||||
| -rw-r--r-- | test/ng/filter/filtersSpec.js | 8 |
2 files changed, 10 insertions, 1 deletions
diff --git a/src/ng/filter/filters.js b/src/ng/filter/filters.js index 7a2f65c0..3b96fe1a 100644 --- a/src/ng/filter/filters.js +++ b/src/ng/filter/filters.js @@ -214,7 +214,8 @@ function timeZoneGetter(date) { var zone = -1 * date.getTimezoneOffset(); var paddedZone = (zone >= 0) ? "+" : ""; - paddedZone += padNumber(zone / 60, 2) + padNumber(Math.abs(zone % 60), 2); + paddedZone += padNumber(Math[zone > 0 ? 'floor' : 'ceil'](zone / 60), 2) + + padNumber(Math.abs(zone % 60), 2); return paddedZone; } diff --git a/test/ng/filter/filtersSpec.js b/test/ng/filter/filtersSpec.js index c9ed7949..d60db9de 100644 --- a/test/ng/filter/filtersSpec.js +++ b/test/ng/filter/filtersSpec.js @@ -227,6 +227,8 @@ describe('filters', function() { var utc = new angular.mock.TzDate( 0, '2010-09-03T12:05:08.000Z'); var eastOfUTC = new angular.mock.TzDate(-5, '2010-09-03T12:05:08.000Z'); var westOfUTC = new angular.mock.TzDate(+5, '2010-09-03T12:05:08.000Z'); + var eastOfUTCPartial = new angular.mock.TzDate(-5.5, '2010-09-03T12:05:08.000Z'); + var westOfUTCPartial = new angular.mock.TzDate(+5.5, '2010-09-03T12:05:08.000Z'); expect(date(utc, "yyyy-MM-ddTHH:mm:ssZ")). toEqual('2010-09-03T12:05:08+0000') @@ -236,6 +238,12 @@ describe('filters', function() { expect(date(westOfUTC, "yyyy-MM-ddTHH:mm:ssZ")). toEqual('2010-09-03T07:05:08-0500') + + expect(date(eastOfUTCPartial, "yyyy-MM-ddTHH:mm:ssZ")). + toEqual('2010-09-03T17:35:08+0530') + + expect(date(westOfUTCPartial, "yyyy-MM-ddTHH:mm:ssZ")). + toEqual('2010-09-03T06:35:08-0530') }); it('should treat single quoted strings as string literals', function() { |
