الحصول على أجزاء التاريخ الهجري في الدوت نت

هل احتجت يوما للحصول على مسمى اليوم او الشهر الهجري باللغة العربية ؟ اليك الطريقة ببساطة :

DateTime dt = DateTime.Today;
System.Globalization.CultureInfo Cinfo2 = new System.Globalization.CultureInfo("ar-SA", false);  // السر هنا
string arabic_day = dt.ToString("ddd", Cinfo2);
string arabic_month = dt.ToString("MMM", Cinfo2);
string arabic_Date = dt.ToString("dd/MM/yyyy", Cinfo2);
string arabic_FullDate = dt.ToString("ddd yyyy/MM/dd", Cinfo2);
string arabic_ShortDate = dt.ToString("yyyy/MM/dd", Cinfo2);

السر في السطر الثاني وهو ببساطة استخدام culture للدولة التي تعتمد التاريخ الهجري وهي في مثالنا المملكة العربية السعودية , بعد ذلك عندما نقوم باي عمليات على التاريخ ستكون بالتاريخ الهجري , طبعا عند تغيير ال culture تتغير النتائج تبعا لذلك , لن تلاحظ ذلك في اسماء الايام ولكن سيكون واضحا في اسماء الشهور
نعود للمرور سريعا على بقية السطور
السطر رقم 3 يعيد لنا اسم اليوم باللغة العربية لاحظ اننا كررنا الحرف d ثلاث مرات وهذا يعني اننا نريد الاسم اما اذا اردنا الرقم فاننا نكرره مرتين فقط , لاداعي لان اقول ان الحرف d يرمز لليوم Day
السطر رقم 4 يعيد لنا اسم الشهر باللغة العربية , نفس الملاحظة ايضا بالنسبة للحرف M تكراره ثلاث مرات يعطينا الاسم ومرتين يعطينا الرقم , ولكن هنا اود التنبيه لملاحظة هامة جدا وهي أن الحرف M عندما يكتب بهذا الشكل فهو يدل على الشهر اما عندما يكتب بالشكل الصغير m فهو يدل على الدقائق
السطر الخامس يعطينا صيغة التاريخ الهجري المعروفة
السطر السادس يضيف فقط مسمى اليوم لبقية التاريخ
السطر الاخير فقط عكس للترتيب في العرض

تلاحظ ان التحكم يتم من خلال استخدام حروف خاصة ذات معنى عند عمل Format للتاريخ , وبالتالي يمكنك التحكم في طريقة العرض كيفما تشاء , بالمناسبة يمكن عرض الوقت ايضا باستخدام حروف خاصة بسيطة تمثل الساعات والدقائق والثواني …

أرجو أن يكون المقال مفيدا …

Latest Comments
  1. محمد

    هل ممكن تحديد الculture على حزء من الصفحة
    بمعنى الموقع كامل يعتمد على اللغة التي يتم اختيارها فمثلا اذا اخترت اللغة الانجليزية ولكن اريد جزء ان يعرض التاريخ العربي
    هل ممكن ام لا؟

  2. القرش

    طبعا ممكن ذلك أخ محمد والمثال الموجود في الموضوع يمكن أن يعمل في اي صفحة بغض النظر عن ال culture العام للصفحة او للبرنامج فاذا اردت عرض التاريخ الهجري بالاسماء العربية فاستخدم المثال السابق كما هو اما اذا اردت التغيير الى الميلادي وباسماء انجليزية فكل ما عليك هو تغيير السطر رقم 2 واستبدال رمز المملكة العربية السعودية الى رمز اي دولة تعتمد التاريخ الميلادي باسماء انجليزية مثلا “en-US” اما اذا اردت عرض التاريخ الميلادي باسماء عربية فاستخدم رمز اي دولة عربية تعتمد التاريخ الميلادي … وهكذا …

  3. اعقل رجل في الشرق الاوسط

    الاخ القرش

    هل يمكن وضع التاريخ في الفرن حتى يطبخ طبخا جيدا

    وهل في حالة احترقة الطبخة يمكن لنا اعادتها من جديد

    وماذا عن برنامج الميكرويف

    هل استطيع ان احمي الشاهي فيه ؟؟

    ياليت اذا عندك الكود حق المندي او الحنيذ علشان اضعه بين الوسم

    /* الكود التابع للمندي */

    رز , لحم , مرقة

    /*اذا ماسد الرز تقدر تحط الوسم التالي*/

    !..يجب وضع الكود في الكرشة علشان تتوسع..!

    تحياتي

  4. محمد

    شكرا اخي العزيز
    سوال اخر
    هل استطيع استخدام نفس الطريقة لتحويل التاريخ من فورمات الى فورمات اخر
    بمعنى لو ادخل المستخدم التاريخ بطريقة سنة\يوم\شهر وانا اريد ان يكون الفورمات بطريقة سنه\شهر\يوم هل استطيع ذلك ؟
    اذا كان نعم ارجو ارسال مثال ان امكن وشكرا مقدما

  5. سند عبدالرحمن

    شكرا جزيلا أخي
    تسلم حقيقة جه في وقته والله كنت محتاجه
    انشاءالله مزيد من التقدم

  6. عبدالرحمن محمد

    الاستاذ الفاضل انا مبتدئ جدا ارجو ان تساعدني
    الان نسخت هذا الكود ووضعتة داخل Void هل هذا تمام وبعدين اروح الى اسوي Lable.Text=void
    كذا تمام والا غلط
    وشكرا لكم

أضف تعليق

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

يمكنك استخدام أكواد HTML والخصائص التالية: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>