The task arose when writing a calculator for one numismatic project that can transfer dates from a specific set of calendars to the Gregorian one. The user of the resource (never created) could enter the date (year) indicated on the coin in the mold and receive in response the corresponding year according to the Gregorian calendar.
I was assigned the task: to realize support for as many calendars as were used when minting coins.
After surfing Google, I found that there was no single resource on which the necessary formulas were described (it was at the beginning of 2009). So, I will bring them all here, suddenly someone will come in handy ...
You can read about the history and features of each calendar in Wikipedia, and here I will give only formulas for the translation and meaning of the symbols used.
')
The process of translating records of years from the Judean, Muslim lunar, Japanese and Nepalese calendars is described
here .
Upd. And
here you can see the description of the translation algorithms for the calendars of the Maya and the French Republic, as well as the Persian and Indian calendars.
Consider other calendars. They are all sunny, so the translation formulas are very simple.
1. Thailand Buddhist calendar.The correspondence of symbols to numbers: ๑ = 1, = 2, = 3, = 4, = 5, = 6, ๗ = 7, ๘ = 8, = 9, = 0.
For translation to the Gregorian date, the formula Year_by_Grigorian_kalendaru = Year_po__thay_kalendaru-543 is used.
2. Mongolian calendar.The symbols used by the Mongols as numerals are represented in the table by unicode characters from 1810 to 1819.
You can see them
here . Mongolian characters were introduced in Unicode version 3.0.
For the translation to the Gregorian date, the formula Year_by_Grigorian_Kalendar = Year_____Mongol__Kalendar + 1910 years is used.
3. Bengali calendar.The correspondence of symbols to numbers: ১ = 1, = 2, = 3, = 4, = 5, = 6, ৭ = 7, ৮ = 8, = 9, = 0.
The Bengali calendar is 593 years behind the Gregorian calendar. We add them, and it's in the bag.
That's all for now. If I find information about some more calendar, I will definitely add it to the topic.