How does one do calendar, date and time, calculations in Ada if the dates are prior to 1900? I’m sure that this is a real problem that has been encountered previously. I’ve never seen anything that does this. Do people just make a foreign call to Perl or UNIX cal program?
The Matreshka League library looks like it has fairly comprehensive support for date/time operations using a base time in 1582 AD.
Generally speaking, if you’re regularly working with dates prior to January 1, 1970, you should consider parsing the “backzone” file from the tzdata distribution and doing the math yourself rather than relying on a library. There are a lot of cases that are open to interpretation depending on your project’s goals. The comments in backzone may be helpful context.