2011-03-27 75 views
6

这段代码有什么问题?波斯语日历不适用于CultureInfo

错误(异常)的消息:

不为给定的培养物有效的日历。

System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo("fa-Ir"); //Error 
ci.DateTimeFormat.Calendar = new System.Globalization.PersianCalendar(); 
Application.CurrentCulture = ci; 

,什么是它的解决方案?
我可以在Windows XP区域选项中添加Calendar类型吗?

+0

有关于波斯日历[在MSDN(见页面底部)(http://msdn.microsoft问题的一些信息.COM/EN-US /库/ system.globalization.persiancalendar.aspx)。也许它可以帮助一点。 – Vlad 2011-03-27 12:10:12

回答

3

据MSDN文章中明确提到了PersianCalendar

您的应用程序不应该使用 PersianCalendar对象作为默认 日历的文化。默认 日历由 指定,CultureInfo.Calendar属性和 必须是由 返回的日历之一 CultureInfo.OptionalCalendars 属性。目前, PersianCalendar类不是由CultureInfo类支持的任何文化 的 可选的日历和 因此不能是默认 日历。

你不能使这项工作。按原样使用日历。

+0

是否可以在控制面板的Windows XP区域和语言选项中添加新的文化类型? – 2011-03-27 12:24:15

+0

不,你无法解决这个问题,不管你尝试什么。 – 2011-03-27 12:25:02

+0

那么,有没有什么解决方案可以帮助我在应用程序项目中使用VS控件(例如datetimepicker)和波斯日历? – 2011-03-27 12:29:18