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

202420242024202420242024
JulAugSepOctNovDec
      
Su1Su1Su
      
Mo12Mo2Mo
Tu23Tu13Tu
We34We24We
Th415Th35Th
Fr526Fr416Fr
Sa637Sa527Sa
Su748Su638Su
      
Mo859Mo749Mo
Tu9610Tu8510Tu
We10711We9611We
Th11812Th10712Th
Fr12913Fr11813Fr
Sa131014Sa12914Sa
Su141115Su131015Su
      
Mo151216Mo141116Mo
Tu161317Tu151217Tu
We171418We161318We
Th181519Th171419Th
Fr191620Fr181520Fr
Sa201721Sa191621Sa
Su211822Su201722Su
      
Mo221923Mo211823Mo
Tu232024Tu221924Tu
We242125We232025We
Th252226Th242126Th
Fr262327Fr252227Fr
Sa272428Sa262328Sa
Su282529Su272429Su
      
Mo292630Mo282530Mo
Tu3027Tu292631Tu
We3128We3027We
Th29Th3128Th
Fr30Fr29Fr
Sa31Sa30Sa

35 rows

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