首页 > 解决方案 > Xamarin 表单收到阿拉伯语 DatePicker 绑定错误

问题描述

System.ArgumentOutOfRangeException:此日历不支持指定时间。它应该在 04/30/1900 00:00:00(公历日期)和 11/16/2077 23:59:59(公历日期)之间(包括公历日期)。参数名称:时间

标签: xamarin

解决方案


因为你的ar-sa文化默认日历是UmAlQuraCalendar日历,它的范围是 1318/01/01- 1500/12/30,所以你应该把日期改成公历,</p>

例如,你得到一个日期1378/1/1

UmAlQuraCalendar umAlQuraCalendar = new UmAlQuraCalendar();
var datatime = new DateTime(1378,3,1, umAlQuraCalendar);
GregorianCalendar gregorian = new GregorianCalendar();
DateTime gregorianDate  = new DateTime(gregorian.GetYear(datatime), gregorian.GetMonth(datatime), gregorian.GetDayOfMonth(datatime));
Console.WriteLine("ar-sa----" + gregorianDate  .ToString());//the result will be:"ar-sa----9/14/1958 12:00:00 AM"

推荐阅读