tantek.com

Happy World Piano Day^1!

Because there are 88 keys on a standard piano, the 88th day of the year was established as a day to “celebrate the piano and everything around it: performers, composers, piano builders, tuners, movers and most important, the listener”.

There are multiple websites about Piano Day:
* https://www.pianoday.org/
* https://www.worldpianoday.com/

And related #socialMedia and other profiles:
* https://www.instagram.com/pianodayofficial/
* https://linktr.ee/PianoDay
* Spotify playlist: https://open.spotify.com/playlist/2v022joEJ1ZUPi99NHDVNm?si=mmT4rDchTzW60KC3lsTksQ&nd=1&dlsi=2a348a57822c4217

I appreciate that Piano Day is on an ordinal day of the year (88th) rather than a Gregorian date (e.g. 8/8 or August 8th) which is subject to leap year variances. The 88th day of the year is the 88th day regardless whether it is a leap year or not.

From a standards perspective, we can express today’s Piano Day as 2024-088, an ISO ordinal date^2, however there is no standard date format for just "the 88th day of a year" without specifying a year (yearless).

There is (was) a way to specify a yearless month and day, like you might see as a birthday displayed on a social media site, without disclosing the year, or an annual holiday like May Day^3, that is May 1st, without a specific year:

--05-01

This yearless date format (--MM-DD or shorthand --MMDD) was supported in the ISO 8601:2000 standard, but then dropped in the 2004 revision. This omission or deliberate removal was an error, because there are both obvious human visible use-cases (communicating holidays, and yearless birthdays as noted above), and other standards already depended on this yearless date format syntax (e.g. vCard^4 and specs that refer to it like hCard and h-card).

Every version of ISO 8601 since 2000 has this flaw. Fixing (or patching) #ISO8601 is worth a separate post.

Returning to yearless ordinal dates, since they lack an interchange syntax, we can define one resembling the yearless month day format, yet unambiguously parseable as a yearless ordinal date:

---DDD

e.g. Piano Day would be represented as:

---088

We have to use three explicit digits because there's also pre-existing "day of the month" and "month of the year" syntaxes which are very similar, but with two digits:

--MM
---DD

This yearless #ordinalDate syntax (---DDD) is worth proposing as a delta "repair" spec to ISO 8601 (use-cases: Piano Day and others like Programmer’s Day^5), alongside at least a restoration of the --MM-DD yearless month day syntax (use-cases: publishing holidays and yearless birthdays), perhaps also the ---DD day of the month and --MM month of the year syntaxes (use-case: language independent numerical publishing of Gregorian months and days of months), and propose adding a NewCal bim of the year syntax --B (numerically superior replacement for Gregorian months and quarters).

Glossary:

hCard
  https://microformats.org/wiki/hcard
h-card
  https://microformats.org/wiki/h-card
NewCal
  http://newcal.org/

References:

^1 https://en.wikipedia.org/wiki/Piano_Day
^2 https://en.wikipedia.org/wiki/Ordinal_date
^3 https://en.wikipedia.org/wiki/May_Day
^4 https://www.rfc-editor.org/rfc/rfc6350#section-6.2.5
^5 https://en.wikipedia.org/wiki/Programmer%27s_Day

on (ttk.me t5WA1) using BBEdit