问题
What standards and strategies are there for handling historic dates described in older calendar form?
The contemporary Gregorian calendar, with different length months, leap years, etc. is relatively easily handled with built-in programming language libraries, or data formats such as ISO8601, RFC3339 and RDF's OWL-Time ontology. Earlier representations such as the Julian calendar, religious calendars, regnal years (e.g. Third June 13 Charles II) and variations thereof do not seem as well catered for.
I am particularly interested in the parsing and storage of historial genealogical dates in different calendars alongside contemporary data. Are there any RDF ontologies covering dates within different calendars? OWL-Time does not appear to cover calendars.
回答1:
What you need will depend somewhat on what you are after. I think you would do well to store the dates in a simple uniform format like the R.D. (rata die or RD) format in 'Calendrical Calculations, 3rd Edn' (cited by StarBlue). However, I also think you should keep the original text available as a record of what the starting point was, so that the translation to RD can be verified on request.
As a for instance, if you go far enough back in time, the New Year in England (at least for some purposes) was not 1st January but 25th March (Lady Day). In the earlier part of the Middle Ages, for instance, you might find that what we would currently calculate as 14th February 1167 would be treated as 14th February 1166 by those who recorded dates at the time. One interesting side effect of the change between the Julian and Gregorian calendars in September 1752 (in the UK and its colonies) was that the year was 12 days shorter. The tax calculations for 353 days instead of 365 would have been awful, so the end of the tax year was changed to its current 6th April - so that the year remained 365 days despite the change in calendar. (OK; technically, that is informed speculation. It is a plausible reason for why the UK ends its tax year on 6th April, though.)
So, to deal with 'Third June 13 Charles II', you need to know that the input is in the regnal format, that the day was 3, the month June (not too hard), and the year the 13th of Charles II's reign (1630-05-29 to 1685-02-06; became king from 1649-01-30, but was not crowned until 1661-04-23; from 1660 onwards, documents were dated as if he had reigned since 1649; see Wikipedia for more information). So, presumably, the date referred to is 1662-06-13 of the Julian calendar (since England did not switch to the Gregorian calendar until 1752).
回答2:
I suppose you know about the book "Calendrical Calculations" by Reingold and Dershowitz?
来源:https://stackoverflow.com/questions/404013/handling-historical-calendar-dates