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

202420242024202520252025
OctNovDecJanFebMar
      
Su1SuSu
      
Mo2MoMo
Tu13TuTu
We24We1We
Th35Th2Th
Fr416Fr3Fr
Sa527Sa411Sa
Su638Su522Su
      
Mo749Mo633Mo
Tu8510Tu744Tu
We9611We855We
Th10712Th966Th
Fr11813Fr1077Fr
Sa12914Sa1188Sa
Su131015Su1299Su
      
Mo141116Mo131010Mo
Tu151217Tu141111Tu
We161318We151212We
Th171419Th161313Th
Fr181520Fr171414Fr
Sa191621Sa181515Sa
Su201722Su191616Su
      
Mo211823Mo201717Mo
Tu221924Tu211818Tu
We232025We221919We
Th242126Th232020Th
Fr252227Fr242121Fr
Sa262328Sa252222Sa
Su272429Su262323Su
      
Mo282530Mo272424Mo
Tu292631Tu282525Tu
We3027We292626We
Th3128Th302727Th
Fr29Fr312828Fr
Sa30Sa29Sa
SuSu30Su
      
MoMo31Mo

37 rows

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