كيفية عرض التواريخ العربية في التقويم الميلادي؟

StackOverflow https://stackoverflow.com/questions/359986

سؤال

ولدي موقع ASP.NET متعدد اللغات. واحدة من اللغات غير العربية (AR-SA). للتبديل بين الثقافات، وأنا استخدم هذا الرمز:

Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(Name)
Thread.CurrentThread.CurrentUICulture = New CultureInfo(Name)

عند عرض التاريخ من مقال، على سبيل المثال، وأنا مجرد قيام بذلك، وAPI توطين يعتني كل شيء:

<%#Eval("DatelineDate","{0:d MMMM yyyy}")%>

والمشكلة هي أن هذا يعرض التواريخ باستخدام Hijiri (الإسلامي) التقويم (على سبيل المثال عام 2008 كما تصدر 1429). يريد العميل لعرض التواريخ باستخدام التقويم الغريغوري (لا يزال تقديم أسماء الشهر وكل شيء آخر في اللغة العربية، وبطبيعة الحال). كيف يمكنني أن أفعل هذا؟

هل كانت مفيدة؟

المحلول

الجواب:

وتبين ثقافة AR-SA هي الوحيدة استخدام التقويم Hijiri. جميع الثقافات العربية الأخرى تستخدم الميلادي. وهنا تنسيقات التاريخ المختلفة باللغة العربية (عابث قليلا حتى لأسلحة الدمار الشامل لا يدعم يبدو لدعم النص RTL).

ar-AE 11 ديسمبر 2008 
ar-BH 11 ديسمبر 2008 
ar-DZ 11 ديسمبر 2008 
ar-EG 11 ديسمبر 2008 
ar-IQ 11 كانون الأول 2008 
ar-JO 11 كانون الأول 2008 
ar-KW 11 ديسمبر 2008 
ar-LB 11 كانون الأول 2008 
ar-LY 11 ديسمبر 2008 
ar-MA 11 دجنبر 2008 
ar-OM 11 ديسمبر 2008 
ar-QA 11 ديسمبر 2008 
ar-SA 13 ذو الحجة 1429 
ar-SY 11 كانون الأول 2008 
ar-TN 11 ديسمبر 2008 
ar-YE 11 ديسمبر 2008 

ولما كان يستحق هنا هو رمز سريعة وقذرة أنا استخدامها لتوليد هذه القائمة:

    Response.Write("<table width=300px>")
    For Each ci As CultureInfo In (From c As CultureInfo In CultureInfo.GetCultures(CultureTypes.AllCultures) Order By c.Name Where c.Name.StartsWith("ar-"))
        Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo(ci.Name)
        Thread.CurrentThread.CurrentUICulture = New CultureInfo(ci.Name)
        Response.Write(String.Format("<tr><td>{0}</td> <td style='direction:rtl;font-size:20px;'>{1:d MMMM yyyy}</td></tr>", ci.Name, Today))

    Next
    Response.Write("</table>")
    Response.End()

وعن الثقافات في HTTP: // www.massimilianobianchi.info/max/articles/22/UI-culture-list-and-codes.aspx

نصائح أخرى

ويمكنك فقط استخدام اللغة العربية آخر، والفرق الوحيد بينهما هو تنسيق التاريخ ...

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top