Не удается преобразовать дату по хиджре в дату по григорианскому календарю (c#)

Теперь я работаю с датами по хиджре и пытаюсь преобразовать их в даты по григорианскому календарю, используя следующий код:

            string HijriDate;
            string[] allFormats ={"yyyy/MM/dd","yyyy/M/d",
                "dd/MM/yyyy","d/M/yyyy",
                "dd/M/yyyy","d/MM/yyyy","yyyy-MM-dd",
                "yyyy-M-d","dd-MM-yyyy","d-M-yyyy",
                "dd-M-yyyy","d-MM-yyyy","yyyy MM dd",
                "yyyy M d","dd MM yyyy","d M yyyy",
                "dd M yyyy","d MM yyyy","MM/dd/yyyy"};
            CultureInfo enCul = new CultureInfo("en-US");
            CultureInfo arCul = new CultureInfo("ar-SA");
            arCul.DateTimeFormat.Calendar = new System.Globalization.HijriCalendar(); 
            DateTime tempDate = DateTime.ParseExact(HijriDate, allFormats, arCul.DateTimeFormat, DateTimeStyles.AllowWhiteSpaces);
            return tempDate.ToString("MM/dd/yyyy");

этот код отлично работает со всеми датами, кроме даты, которая имеет 30-й день месяца, как показано ниже:

'30/10/1433' , '30/12/1432' или '30/05/1433' и т. д. ..... так как обрабатывать и преобразовывать эту дату в соответствующий григорианский :S

7
задан Ozair Kafray 25 June 2012 в 13:02
поделиться