What's wrong with this code?
Error(Exception) message :
Not a valid calendar for the given culture.
System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo("fa-Ir"); //Error
ci.DateTimeFormat.Calendar = new System.Globalization.PersianCalendar();
Application.CurrentCulture = ci;
And what's its solution?
C开发者_如何学Can I add aCalendar
type to Windows XP regional option? a dirty reflection-based workaround is here :
http://social.msdn.microsoft.com/forums/en-US/netfxbcl/thread/4768d48e-aa04-4c15-b688-a58fa4373bc9/
It is explicitly mentioned in the MSDN article for PersianCalendar
Your application should not use a PersianCalendar object as the default calendar for a culture. The default calendar is specified by the CultureInfo.Calendar property and must be one of the calendars returned by the CultureInfo.OptionalCalendars property. Currently, the PersianCalendar class is not an optional calendar for any culture supported by the CultureInfo class and consequently cannot be a default calendar.
You cannot make this work. Use the Calendar as-is.
精彩评论