Member 12664955 Ответов: 1

Как я могу преобразовать арабскую дату (1430/01/30 гггг/ММ/ДД) в английский фармат


если я преобразую приведенную ниже арабскую дату в английскую, то столкнусь с исключением(строка не была распознана как допустимая Дата-Время).Пожалуйста, предложите, если есть какое-либо решение для этого.

Если я делаю то же самое в google converter, то я получил ответ в google: 27 января 2009 года вторник

Но я хочу заняться кодированием на c#, не могли бы вы мне помочь??

арабский формат даты: (1430/01/30 гггг/ММ/ДД)

Что я уже пробовал:

private void ConvertArabicDate()
        {
            string strArabicDate="14300130";
            string engDate = string.Empty;
            CultureInfo arCul = new CultureInfo("ar-SA");
            CultureInfo enCul = new CultureInfo("en-US");
            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" };
            try
            {

                DateTime tempDate = DateTime.ParseExact(strArabicDate, allFormats, arCul.DateTimeFormat, DateTimeStyles.AllowWhiteSpaces);
                engDate = tempDate.ToString("dd-MMM-yyyy", enCul.DateTimeFormat);
            }
            catch (Exception ex)
            {
                 
               
                    engDate = "Unable to convert Arabic date ";
               
            }
        }

Member 12664955

К сожалению все такими форматами первый ггггммдд содержать его в массив . можете ли вы, пожалуйста, проверить один раз и предоставить какое-либо решение

1 Ответов

Рейтинг:
8

Andy Lanng

Вы очень близки, но ваш формат входной строки не соответствует ни одному из ваших форматов allFormats.

У вас есть дата в "yyyyMMdd", которая не появляется в массиве.

В остальном все выглядит прекрасно


Member 12664955

Извините, в массиве allFormats первый-это yyyymmdd, взятый в массиве . пожалуйста, проверьте один раз код и предоставьте решение

Member 12664955

Привет Энди мы проверили массив теперь он добавлен в allformat array at 0 index position is yyyyMMdd но этот формат также мы сталкиваемся с исключением пожалуйста помогите мне

Любой может добавить решение к вышеприведенному вопросу, пожалуйста.

Andy Lanng

есть ли новое исключение или то же самое?

Member 12664955

то же исключение