First column:   year   month .   Number of months
Repeat day codes every columns.   Entry padding em.  

202520252025202620262026
OctNovDecJanFebMar
      
Mo1MoMo
Tu2TuTu
We13WeWe
Th24Th1Th
Fr35Fr2Fr
Sa416Sa3Sa
Su527Su411Su
      
Mo638Mo522Mo
Tu749Tu633Tu
We8510We744We
Th9611Th855Th
Fr10712Fr966Fr
Sa11813Sa1077Sa
Su12914Su1188Su
      
Mo131015Mo1299Mo
Tu141116Tu131010Tu
We151217We141111We
Th161318Th151212Th
Fr171419Fr161313Fr
Sa181520Sa171414Sa
Su191621Su181515Su
      
Mo201722Mo191616Mo
Tu211823Tu201717Tu
We221924We211818We
Th232025Th221919Th
Fr242126Fr232020Fr
Sa252227Sa242121Sa
Su262328Su252222Su
      
Mo272429Mo262323Mo
Tu282530Tu272424Tu
We292631We282525We
Th3027Th292626Th
Fr3128Fr302727Fr
Sa29Sa312828Sa
Su30Su29Su
      
MoMo30Mo
TuTu31Tu

37 rows

Notes on curious non-bug on my home machine:
with date_default_timezone_set('UTC') - be patient
without that declaration