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

202320232023202320232023
MayJunJulAugSepOct
      
FrFr1Fr
Sa1Sa2Sa
Su2Su31Su
      
Mo13Mo42Mo
Tu24Tu153Tu
We35We264We
Th416Th375Th
Fr527Fr486Fr
Sa638Sa597Sa
Su749Su6108Su
      
Mo8510Mo7119Mo
Tu9611Tu81210Tu
We10712We91311We
Th11813Th101412Th
Fr12914Fr111513Fr
Sa131015Sa121614Sa
Su141116Su131715Su
      
Mo151217Mo141816Mo
Tu161318Tu151917Tu
We171419We162018We
Th181520Th172119Th
Fr191621Fr182220Fr
Sa201722Sa192321Sa
Su211823Su202422Su
      
Mo221924Mo212523Mo
Tu232025Tu222624Tu
We242126We232725We
Th252227Th242826Th
Fr262328Fr252927Fr
Sa272429Sa263028Sa
Su282530Su2729Su
      
Mo292631Mo2830Mo
Tu3027Tu2931Tu
We3128We30We
Th29Th31Th
Fr30FrFr

36 rows

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