SAC13 year
SAC13 years are offset from the Gregorian Calendar by about +10’000 years, which roughly corresponds to Holocene/Human Era years. “Roughly”, because the SAC13 New Year’s Day is about 2.5 months after the Gregorian New Year’s Day, as SAC13 starts the year with the March equinox. For example, the SAC13 year 12025 (2025 + 10000) starts on the 20th of March 2025 on the Gregorian Calendar.
Because of the new year numbering scheme (Gregorian + 10’000), we can actually go further into the past before we would reach negative years. This also allows us to completely avoid the AD, BC, BCE, CE, AC, AP, AOR, AUC, AVC, … situations. Not kidding, all of those are really a thing.
Events before SAC13’s year zero don’t really need dates for a few reasons: Accurate events (for example, astronomical) that far in the past already use other systems (like Julian Days, etc.) for that and don’t need a calendar for that. Other things that happened so far back in the past have large inaccuracies and are often described with phrases like “35’000 years ago” (35 kya), so we don’t need a calendar for them either.
In theory, an extension into negative years would be possible, but officially year zero is the first year of the SAC13 calendar and I’m pretty certain we’ll never need to extend it further into the past.
Millennium Indicator
SAC13 uses a millennium indicator for its years. So, instead of
writing 12’025, we write M025. There are a few reasons for this.
First it allows us to quickly distinguish between Gregorian Calendar
dates and SAC13 dates. It also eliminates the need for a thousand
group separator, which is also nice, because the world can’t even
agree on that and the meaning of dots and commas depend on the
country you live in (that’s also why I prefer apostrophes as group
separators, because you can’t mistake them for a decimal separator).
Also, some countries already use dots to separate the segments of a
date, like so: 23.06.2023
. Adding another dot as a
thousands separator, would certainly be very confusing. Another
reason is that is also saves a little bit of space and we would
still be able to write the years with just four digits. And yes,
technically speaking, the millennium indicator is a base-26 digit.
Knowing all that, it’s easy to see that 2024-03-20
is a
Gregorian date and M024-03-20
is a SAC13 date. Note
that those examples are not the same day.
Using a millennium indicator also simplifies talking about history - no more “1st Millennium BC” or “1st Millennium AD”, it’s now “Millennium J” and “Millennium K” instead. SAC13 also fixes the millennium misalignment the Gregorian Calendar has. Because the Gregorian Calendar doesn’t have a year 0 the millennia are offset by one year. The year 1999 is part of the 2nd millennium (AD), 2000 was also in the second millennium, and 2001 was the start of the 3rd millennium. Completely unintuitive. With SAC13, all years are part of the millennium identified by the millennium indicator letter. So, L999 is part of “Millennium L” and “M000” is part of “Millennium M”, easy.
Letter | Millennium | Value |
---|---|---|
A | 1st Millennium | 0 |
B | 2nd Millennium | 1 |
… | ||
L | 12th Millennium | 11 |
M | 13th Millennium | 12 |
… | ||
Y | 25th Millennium | 24 |
Z | 26th Millennium | 25 |
Limits
SAC13 has pretty strict limits that all implementations have to
obey. The first year (year zero) is A000
, and the last
year is Z999
. All implementations have to support that
range exactly. It’s not allowed to only support a smaller range and
it’s also not allowed to extend that range for example for negative
years or larger years. So, the first representable date in SAC13 is
A000-01-01
, and the last one is
Z999-13-29
(both inclusive). Any implementation that
differs from that range is considered
non-conforming/non-standard.
These hard limits might seem odd at first, but serve a very important purpose, namely to ensure 100% compatibility between implementations. You can be sure that no conforming implementation will ever send you a date outside this range. You can also be sure that every conforming system can process dates inside that range. On a more technical note, it also makes it clear that a conforming implementations would only ever need an unsigned 16 bit integer to represent SAC13 years.
Gregorian Calendar Limits
Because the Gregorian Calendar wasn’t designed with computers in mind, we currently have over a gazillion different limits, and you can’t be sure which system has which limits without testing or source code access. Some calendar implementations will break down in 2028, 2032, 2036, 2038, 2040, 2042, 2048, 2069, 2080, 2100, 2106, 2108, 2137, 2248, 2262, 2286, 2446, 4501, 9999, … I’m not making this up :-D. You can look at the curated list on Wikipedia yourself: Time formatting and storage bugs.
With clearly defined limits like those in SAC13, we can completely avoid this issue. Everybody uses the same limits. This does not mean that the calendar cannot be extended, but the difference is that the calendar intentionally has an expiration date. So we start using SAC13 now, and if humans are still around 10’000 years from now we can think about how to extend it. The simplest thing would be to use two millennium indicator letters but let’s discuss that in a few thousand years. If humans are still around then in one form or another, I really hope they are no longer interested in Earth-based solar calendars 😄