10 Apr 2006 roozbeh   » (Master)

The Persian calendar: Following my previous post about the Persian calendar, I discovered an interesting property of the pre-1925 Persian calendar. Apparently, before the reform in 1304 AP (1925 CE), not only the length of the months were different from the current regular lengths of six 31-day months followed by five 30-day months followed by a 29-day month (which becomes 30 days in leap years), and not only some of the months were 32 days, but also the length of the months were different in different years.

I should still find what rules they used (astronomical observation of sun’s position? But the spring equinox has the sun in Pisces, not in Aries as the old Persian name is...), but there are interesting patterns. For example, only Gemini, Cancer and Leo could be 32 days, and were 31 days in years that they were not 32 days, and at least one of them and at most two of them was/were 32 days each year (in the table I have, there is one single case when Taurus is also 32 days, while in every other year it’s 31 days, but it may be an error). Also, only Scorpio, Sagittarius, Capricorn, and Aquarius could become 29 days, and they were 30 days in other years. Or Pisces is always 30 days, the only month whose length doesn't change in my table of 1230–1303 AP (about 1851–1925 CE).

Interestingly, the 33-year cycle leap year approximation holds for that seventy-five years, so the most common software implementations out there (used in Jalali, .NET, and Mono), compute the first day of the year correctly for the period of 1851–1925. But since they assume the present month lengths instead of the changing ones, they compute the Persian dates correctly only for about five-ninth (55.55%) of the dates in that period.

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!