Many of us are familiar with the "locale" concept used for internationalization -- keys like en_GB
or es_US
used to express the language and country combination needed to generate user-facing messages like "Only £4!" or "Solamente $3.99!".
I'm looking for something similar that would express, for a given historical country/region, what calendar system was in use at a given time. The goal is to have enough logic that a date parsing library is capable of resolving "22 Jan 1682" in Scotland to 1682-01-22, but also resolving "22 Jan 1682" in England to 1683-01-01, since Scotland changed from Old Style New Year's Days to New Style in 1600, but England only changed in 1752.
I've had no luck with ISO-8601, nor the other technical standards that specify converting everything to proleptic Gregorian without explaining when and where that change should be made. In fact, the closest listing I've been able to find is the table at on this wikipedia article. Are there any such "calendar local" standards?
Let me emphasize that I'm attempting a modest approach to representing dates here. On one hand, I'm not trying to obliterate the dates actually written on the source documents by replacing them with a standardized version -- we expect to capture dates as written in a separate field, which will always be accessible to researchers, and will likely be the actual value we present when people use the database. On the other hand, I'm not trying to force all standardized dates into a proleptic Gregorian system that could be used for cross-calendar comparison. Rather, we're trying to find a nice, standardized format to be used for searching and sorting records, so that a search for "1682" finds records written with "1682", and that "December 31 1682" precedes "January 1 1682/3".
Any other resources on dealing with European calendar changes would be welcome.
More info on the date parser I'm trying to build can be found on this Github issue tracking the feature.