For the last couple of weeks, I’ve been working on customization of a control, to be able to work correctly with Persian, Arabic and English cultures. The major headache with these cultures, is of course, their Calendars!

While English was very easy to do, Arabic was a little harder, but for Persian it was a real pain in the neck. The problem is in FA-IR culture, the default calendar for the CultureInfo is NOT set to Persian Calendar provided by Microsoft!

In fact, back when .NET Framework 2.0 was released with the very good news of built-in Persian Calendar, I immediately found it very frustrating : Not only the provided calendar has a bug which makes it useless (who needs a calendar that miscalculates the year, anyway), they didn’t make it the default calendar for the FA-IR culture!? The funny thing is, the default calendar for FA-IR was remained Gregorian Calendar, which we NEVER use casually.

I’m quite aware that already existing user controls that use DateTime extensively, probably will not work with Persian Calendar. This is probably, because of minimum representable date in Persian Calendar (PersianCalendar.MinSupportedDateTime) which is year 622 in Gregorian Calendar, but this should not mislead the guys at Microsoft to select GregorianCalendar for Persians, would it?

Anyway, I’ve proposed this change to happen, through Microsoft Connect. Please vote to fix the issue so, hopefully, we could all live in a better place :) The link is here.