Как конвертировать григорианские даты в персидские (шамси) даты на странице регистрации nopcommerce

Я хочу настроить свой nopcommerce зарегистрировать страницу и конвертировать григорианские даты в персидские (шамси) даты global.asax в Nop.web Я ввожу некоторый код, и дни и месяцы работают хорошо, но годами у меня возникают проблемы, и я все еще показываю григорианские даты.
вот мой код:

var workContext = EngineContext.Current.Resolve<IWorkContext>();
        var culture = new CultureInfo(workContext.WorkingLanguage.LanguageCulture);
        Thread.CurrentThread.CurrentCulture = culture;
        Thread.CurrentThread.CurrentUICulture = culture;

        if (workContext.WorkingLanguage.UniqueSeoCode.ToLower() == "fa")
        {
            DateTimeFormatInfo info = culture.DateTimeFormat;
            info.AbbreviatedDayNames = new string[] { "ی", "د", "س", "چ", "پ", "ج", "ش" };
            info.DayNames = new string[] { "یکشنبه", "دوشنبه", "ﺳﻪشنبه", "چهارشنبه", "پنجشنبه", "جمعه", "شنبه" };
            info.AbbreviatedMonthNames = new string[] { "فروردین", "ارديبهشت", "خرداد", "تير", "مرداد", "شهریور", "مهر", "آبان", "آذر", "دی", "بهمن", "اسفند", "" };
            info.MonthNames = new string[] { "فروردین", "ارديبهشت", "خرداد", "تير", "مرداد", "شهریور", "مهر", "آبان", "آذر", "دی", "بهمن", "اسفند", "" };
            info.AMDesignator = "ق.ظ";
            info.PMDesignator = "ب.ظ";
            info.ShortDatePattern = "yyyy/MM/dd";
            info.FirstDayOfWeek = DayOfWeek.Saturday;
            PersianCalendar cal = new PersianCalendar();

            typeof(DateTimeFormatInfo).GetField("calendar", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic).SetValue(info, cal);
            typeof(CultureInfo).GetField("calendar", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic).SetValue(culture, cal);
            typeof(CultureInfo).GetField("calendar", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic).SetValue(culture, cal);

            Thread.CurrentThread.CurrentCulture = culture;
            Thread.CurrentThread.CurrentUICulture = culture;
            CultureInfo.CurrentCulture.DateTimeFormat = info;
            CultureInfo.CurrentUICulture.DateTimeFormat = info;
        }  

Кто-нибудь может помочь мне перевести год в персидские даты?

0 ответов

Другие вопросы по тегам