diff --git a/src/plugin/weekYear/index.js b/src/plugin/weekYear/index.js
--- a/src/plugin/weekYear/index.js
+++ b/src/plugin/weekYear/index.js
@@ -7,6 +7,9 @@ export default (o, c) => {
     if (weekOfYear === 1 && month === 11) {
       return year + 1
     }
+    if (month === 0 && weekOfYear >= 52) {
+      return year - 1
+    }
     return year
   }
 }

diff --git a/test/plugin/weekYear.test.js b/test/plugin/weekYear.test.js
--- a/test/plugin/weekYear.test.js
+++ b/test/plugin/weekYear.test.js
@@ -3,6 +3,7 @@ import MockDate from 'mockdate'
 import dayjs from '../../src'
 import weekYear from '../../src/plugin/weekYear'
 import weekOfYear from '../../src/plugin/weekOfYear'
+import '../../src/locale/en-gb'
 
 dayjs.extend(weekYear)
 dayjs.extend(weekOfYear)
@@ -24,7 +25,25 @@ it('Week Year', () => {
   ]
   daySet.forEach((d) => {
     const [day, result] = d
-    expect(dayjs(day).weekYear()).toBe(result)
-    expect(dayjs(day).weekYear()).toBe(moment(day).weekYear())
+    const dResult = dayjs(day).weekYear()
+    expect(dResult).toBe(result)
+    expect(dResult).toBe(moment(day).weekYear())
+  })
+})
+
+it('yearStart: 4', () => {
+  const daySet = [
+    ['2020-12-31', 2020],
+    ['2021-01-01', 2020],
+    ['2021-01-02', 2020],
+    ['2021-01-03', 2020],
+    ['2021-01-04', 2021],
+    ['2021-01-05', 2021]
+  ]
+  daySet.forEach((d) => {
+    const [day, result] = d
+    const dResult = dayjs(day).locale('en-gb').weekYear()
+    expect(dResult).toBe(result)
+    expect(dResult).toBe(moment(day).locale('en-gb').weekYear())
   })
 })

gggg not working correctly
**Describe the bug**
gggg not returns week year, but just a year
The same functionality in moment js works correctly

```javascript
const dayjs = require('dayjs');
const moment = require('moment')
const weekOfYear = require('dayjs/plugin/weekOfYear');
const weekYear = require('dayjs/plugin/weekYear');
const advancedFormat = require('dayjs/plugin/advancedFormat');
require('dayjs/locale/en-gb')
dayjs.locale('en-gb')

dayjs.extend(weekYear)
dayjs.extend(weekOfYear)
dayjs.extend(advancedFormat)
console.log(dayjs().toString())
console.log(dayjs().format('gggg-ww'))
console.log(moment().locale('en-gb').format('gggg-ww'))
```

**Expected behavior**
Sun, 03 Jan 2021 20:38:27 GMT
2020-53
2020-53

**Result**
Sun, 03 Jan 2021 20:38:27 GMT
**_2021-53_**
2020-53

**Information**
 - Day.js Version 1.10.1
 - OS: linux
 - Browser chrome 87
 - Time zone: UTC+3 (Europe/Moscow)


<del>-</del>
Sorry for the wrong reply above.

gggg should return the Week Year in Day.js the same as moment.js.

I've tested ok on my side,  https://runkit.com/embed/9x7snt5xa0ts

![image](https://user-images.githubusercontent.com/17680888/103508148-839e0200-4e9b-11eb-93ec-ad86034ea704.png)



It's ok in your case, because the issue appears only 1-3rd of January.

Here we can see wrong result for 2nd of January

https://runkit.com/maxsimych/5ff5547c4ec2200013f4d252

![image](https://user-images.githubusercontent.com/22443261/103735661-929dc500-4fff-11eb-95b6-1293cc0a2bbf.png)

bug confirmed.
test/timezone.test.js(1) test/timezone.test.js(2) test/timezone.test.js(3) test/timezone.test.js(4)
test/plugin/weekYear.test.js