diff --git a/src/plugin/utc/index.js b/src/plugin/utc/index.js
--- a/src/plugin/utc/index.js
+++ b/src/plugin/utc/index.js
@@ -112,7 +112,7 @@ export default (option, Dayjs, dayjs) => {
   }
   const oldDiff = proto.diff
   proto.diff = function (input, units, float) {
-    if (this.$u === input.$u) {
+    if (input && this.$u === input.$u) {
       return oldDiff.call(this, input, units, float)
     }
     const localThis = this.local()

diff --git a/test/plugin/utc.test.js b/test/plugin/utc.test.js
--- a/test/plugin/utc.test.js
+++ b/test/plugin/utc.test.js
@@ -237,6 +237,9 @@ describe('Diff', () => {
       expect(_.utc(d1).diff(_.utc(d2), 'm')).toBe(1440)
     })
   })
+  it('default diff', () => {
+    expect(dayjs().diff()).toBeDefined()
+  })
   it('local.diff(utc)', () => {
     expect(dayjs(d1).diff(dayjs.utc(d2), 'days'))
       .toBe(moment(d1).diff(moment.utc(d2), 'days'))

Cannot read property '$u' of undefined
**Describe the bug**

1.9.4
```
dayjs('2020-11-02T02:58:28.000-08:00').diff()
-703365300
```

1.9.5 and 1.9.6
```
dayjs('2020-11-02T02:58:28.000-08:00').diff()
TypeError: Cannot read property '$u' of undefined
    at diff (/home/circleci/project/node_modules/dayjs/plugin/utc.js:1:1941)
```


**Information**
 - Day.js Version 1.9.6
 - OS: macOS 10.15.17
 - Browser chrome 85.0.4183.121
 - Time zone: GMT+3


test/timezone.test.js(1) test/timezone.test.js(2) test/timezone.test.js(3) test/timezone.test.js(4)
test/plugin/utc.test.js