diff --git a/src/format/formatters/index.js b/src/format/formatters/index.js index 4fe9718..6b307b7 100644 --- a/src/format/formatters/index.js +++ b/src/format/formatters/index.js @@ -119,7 +119,7 @@ function formatTimezone(offset, dirtyDelimeter) { var sign = offset > 0 ? '-' : '+' var absOffset = Math.abs(offset) var hours = addLeadingZeros(Math.floor(absOffset / 60), 2) - var minutes = addLeadingZeros(absOffset % 60, 2) + var minutes = addLeadingZeros(Math.floor(absOffset % 60), 2) return sign + hours + delimeter + minutes } diff --git a/src/format/test.js b/src/format/test.js index 5991f5a..fd4a3f4 100644 --- a/src/format/test.js +++ b/src/format/test.js @@ -684,6 +684,13 @@ describe('format', function () { const result = format(offsetDate, "yyyy-MM-dd h:mmaaaaa'm' xxx XXX OOO zzz", { timeZone }) assert.equal(result, '2020-10-31 9:37pm -05:00 -05:00 GMT-5 CDT') }) + + it('https://github.com/marnusw/date-fns-tz/issues/168', () => { + const timeZone = 'Europe/Stockholm' + const dateInUTC = Date.UTC(1888, 11, 1) + const result = format(dateInUTC, "yyyy-MM-dd'T'HH:mm:ss.SSSxxx", { timeZone }) + assert.equal(result, '1888-12-01T01:00:14.000+01:00') + }) }) describe('timestamp', function () {