diff --git a/src/plugin/timezone/index.js b/src/plugin/timezone/index.js
--- a/src/plugin/timezone/index.js
+++ b/src/plugin/timezone/index.js
@@ -54,7 +54,7 @@ export default (o, c, d) => {
   const proto = c.prototype
   proto.tz = function (timezone) {
     const target = this.toDate().toLocaleString('en-US', { timeZone: timezone })
-    const diff = (this.toDate() - new Date(target)) / 1000 / 60
+    const diff = Math.round((this.toDate() - new Date(target)) / 1000 / 60)
     return d(target).utcOffset(localUtcOffset - diff, true)
   }
   d.tz = function (input, timezone) {

diff --git a/test/plugin/timezone.test.js b/test/plugin/timezone.test.js
--- a/test/plugin/timezone.test.js
+++ b/test/plugin/timezone.test.js
@@ -77,6 +77,13 @@ describe('Convert', () => {
       expect(dec.tz('Australia/Sydney').format('ha')).toBe('11pm')
     })
   })
+
+  it('format Z', () => {
+    [dayjs, moment].forEach((_) => {
+      const losAngeles = _('2020-08-06T03:48:10.258Z').tz('Asia/Tokyo')
+      expect(losAngeles.format('Z')).toBe('+09:00')
+    })
+  })
 })
 
 

Wrong time zone offset in  'Asia/Tokyo' when using 'timezone' plugin
**Describe the bug**
Wrong time zone offset in  'Asia/Tokyo' when using 'timezone' plugin

**Expected behavior**
```
dayjs.extend(utc);
dayjs.extend(timezone);

console.log(dayjs().tz('Asia/Tokyo').format('Z'));
// => +08:59.995649999999955
```

**Information**
 - Day.js Version 1.8.32
 - OS: mac
 - Browser Google Chrome 84
 - Time zone: GMT+09:00 JST


Thanks, will fix it in the next release.
test/timezone.test.js(1) test/timezone.test.js(2) test/timezone.test.js(3) test/timezone.test.js(4)
test/plugin/timezone.test.js