Today is 2021-00-00. Happy new year.
My proposed calendar system is just the existing Gregorian calendar with all the fencepost errors fixed.
The last day of each month is moved to become day 0 of the following month.
The last month of each year is moved to become month 0 of the following year.
BCE is deprecated. Instead we just let the CE year number go to zero and then negative.
This new calendar is in fact an extension of the Gregorian calendar. There are no retroactive changes or discontinuities. All previously existing Gregorian dates and times continue to refer unambiguously to the same moments in time they always did. Your birthday still exists. The Fourth of July hasn't moved.
Transforming the old calendar into the new calendar is a two-phase process. In the first phase, we broaden the capabilities of the existing Gregorian calendar by explicitly extending the days of every month, the months of every year and the years of both the Common Era and... erm, the Before Common Era... forward and backward indefinitely.
"2020-12-32" is legal, and refers to the same day as "2021-01-01".
"2020-12-99", "2021-01-68", "2021-02-37" and "2021-03-09" all refer to the same day.
"2021-01-00" is legal, and refers to the same day as "2020-12-31".
2000-00-00 is 1999-11-30, 2020-11-30 is 2021-00-00, 29 November is New Year's Eve and 30 November is now New Year's Day.
2021-00-00 is also 1993-09-9953.
"1969-13" refers to the same month as "1970-01" - that is, January 1970.
"2021-00" refers to the same month as "2020-12".
"December 2020" still unambiguously means 2020-12.
"0 CE" is legal and refers to the same year as "1 BCE".
"-474 CE" is legal and refers to the same year as "475 BCE".
"-2019 BCE" refers to the same year as "2020 CE".
This increases the expressive power of the YYYY-MM-DD date format and acknowledges the "overflow" behaviour of many existing datetime handling systems, while also continuing to recognise all existing fixed dates.
In the second phase, observing that every moment in time has multiple valid expressions, we choose new, zero-indexed preferred forms for expressing years, days and months.
"475 BCE" is still accepted, but "-474 CE" is preferred.
"1999-12-31" is still accepted, but "2000-01-00" is preferred.
"1970-01-01" is still accepted and also still preferred.
This means that everything starts from zero; not only the hour, the minute, the second and the fraction of the second, but also the day, the month and the year.
There's only one other minor note. Because "December" must still always refer unambiguously to "month twelve", month zero gets a new name of its own: "Nulluary", which is just as easy to pronounce as "February", if not even easier.
"December 2020", "2020-12", "2021-00" and "Nulluary 2021" all refer to the same month.
"December 2020" is accepted, but "Nulluary 2021" is preferred.
None whatsoever! And date arithmetic becomes so much easier!
Well. Except... the YYYY-MM-DD format becomes a little ridiculous (unambiguous, but still ridiculous) when we allow negative numbers in the month and day places. Yesterday, 2020-11-29, was technically also 2020-12--01, but, let's not, shall we? Also, allowing the month and day places to increase to three or more digits is frowned upon.
Also, for backwards compatibility purposes, "the first [day] of January" and "January first" still both refer to 1 January (YYYY-01-01), even though the first day of January is actually 0 January now.
And, any event taking place on, say the "first Tuesday after the first Monday in November" might need rescheduling. Also, the definition of "blue moon".
And, yeah, New Year's Day was just now.
Existing terms such as "21st Century" continue to unambiguously refer to the same time periods as before.
As before, we extend these numbers forwards and backwards indefinitely.
However, these time periods are arbitrary and have obvious fencepost errors. This entire system for referring to centuries is, while still accepted, not preferred. The preferred approach is as follows, eschewing ordinals:
Note that we do still kind of have a fencepost error here, whereby for example year -387 was in Century -4... but at least we've moved the fencepost error to before the epoch where the mathematics is easier and we don't have to consider it every day.
Existing terms like "1990s" continue to unambiguously refer to the same time periods as before.
Yeah, it's a mess! This is all somewhat ambiguous, and, while still accepted, not preferred. The new and preferred approach is as follows:
Same moved fencepost observation as for centuries.