تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
التعامل مع التواريخ الهجريه
#1
الســلام عليكم ورحمة الله وبركاته 

عندي أتسفسار بخصوص التاريخ والتعامل معها بشكل عام أتمنى من أهل الخبـره أيجاد حل ينهي معاناتي مع هذه المشكله 

عند وضع أداة التاريخ في الفورم وأعدات الجهاز على التاريخ الهجري فالأداه تأخذ التاريخ الهجري 
عند حفظ التاريخ يتم حفظ التاريخ هجري بشكل عادي وعند أظهاراه يظهر بشكل عادي 
ولكن السؤال هل  إذا وضعت حساب لتاريخ أما عدد أيام معينه أو مواعيد هل يتقدم يوم أو يتأخر  من الأيام شي 

وهل يوجد طريقه بحيث أنه يظهر داخل قاعدة البيانات بشكل تاريخ هجري ..؟
الرد }}}
تم الشكر بواسطة:
#2
لعرض التاريخ الهجري في اداه نص 
PHP كود :
Dim dtn As DateTime Format(DateTime.Now)
 
Dim ci As New System.Globalization.CultureInfo("ar-SA")
 
TxtDate.Text dtn.ToString("dd/MM/yyyy هـ"ci

ثم احفظ النص
Mish3l
الرد }}}
تم الشكر بواسطة: adel27
#3
في الغالب طريقتك في ادراج التاريخ في جمل الاستعلام ليست بالشكل الصحيح

اذا استخدمت البارامتر Parameters.AddWithValue لإدراح التاريخ فلن تجد هذه المشكلة
الرد }}}
تم الشكر بواسطة: adel27 , myalsailamy
#4
(11-10-16, 03:38 AM)tryold كتب : لعرض التاريخ الهجري في اداه نص 
PHP كود :
Dim dtn As DateTime Format(DateTime.Now)
 
Dim ci As New System.Globalization.CultureInfo("ar-SA")
 
TxtDate.Text dtn.ToString("dd/MM/yyyy هـ"ci

ثم احفظ النص

إذا حفظت التاريخ من نص راح تواجهك مشكله واحد يكتب التاريخ 1435/1/11 وواحد يكتب 11\12\1438 
فماراح تقدر تضبط التاريخ بالأضافه ما راح تقدر تستفيد منه إذا بتحسب عدد أيام معينه أو مواعيد

(11-10-16, 03:55 AM)ممدوح كتب : في الغالب طريقتك في ادراج التاريخ في جمل الاستعلام ليست بالشكل الصحيح

اذا استخدمت البارامتر Parameters.AddWithValue لإدراح التاريخ فلن تجد هذه المشكلة

صدقت نجح معي الأمر ولكن الخوف إذا عرضت فيه الأداه أو أردت حساب زمن معين هل تأتي بشكل دقيق ..؟
الرد }}}
تم الشكر بواسطة:
#5
لا تستطيع أن تسميها نتائج دقيقة مع التاريخ الهجري لأن التاريخ الهجري يعتمد على رؤية القمر

إذا كنت تعتمد على (تقويم أم القرى) (الرسمي في السعودية) فأكيد النتائج تكون دقيقة بسبب اعتماده التواريخ لسنوات قادمة (اعتقد المعتمد الرسمي لغاية 1450 فقط)

أما اعتماد نوع (التقويم الهجري) الموجود في نظام التشغيل ويندوز من ميكروسوفت) فهو يعتمد على معادلة حسابية خاصة بميكروسوفت
قد لا تتطابق نتائجها مع نتائج مع معادلات أخرى من اجتهادات مبرمجين آخرين

بامكان اي شخص عمل معادلة يجتهد فيها بان اقرب ما يكون للواقع اذا علم ان الشهر القمر يساوي 29.530588 يوما
فيكون الشهر القمري بشكل افتراضي 29 يوما وعند جمع الكسر يجبر بيوم لأحد الأشهر ليصبح 30 يوما تماما مثل اسلوب السنة الكبيسة في التقويم الشمسي
ولكن مسألة جبر الكسر هنا ليست بنفس التقييم في السنة الشمسية اي يتم جبر الكسر لعدة اشهر وليس لعدة سنوات كما السنة الشمسية
الرد }}}
تم الشكر بواسطة: أبو عمر , myalsailamy , adel27
#6
اعجبني سرد الاخ ممدوح في التوضيح لك  ،  لذلك من المحاذير التي افرضها على نفسي و برامجي هي عدم حفظ اي تاريخ هجري بقاعدة البيانات  (ولو على جثتي) هههههههه  السبب نسبة الخطأ فيها كبيره  و تسبب وجع اكبر بالمعالجه  لاحقاً  لذلك  ماذا تفعل في هذه الحالة  : اولاً  اجعل جميع الكواليس في البرنامج  تتعامل مع التاريخ الميلادي  في العمليات الحسابيه  في الحفظ  في المعالجة  ، و اعرض  للمستخدم  حسب رغبته اما بتاريخ ام القرى ام بالميلادي  فقط  عملية تحويل  لا اكثر و لا اقل ، لكن اساس التاريخ يكون ميلادي  ،  اما اذا اردت اجراء بعض العمليات على التقويم الميلادي  فما عليك الا تحويل التاريخ الى تقويم ام القرى ثم اجراء بعض الحسابات  مثل عدد الايام في الشهر ،  عدد ايام السنة  ، كم متبقي في السنة الحالية ، عينة من بعض الاكواد التي كتبتها سابقا  : 


كود :
    ''' <summary>
    ''' جلب عدد الايام بداية السنة الى التاريخ المحدد(أم القرى)
    ''' </summary>
    ''' <param name="TheDayInYear">التاريخ المحدد</param>
    ''' <returns>رقمي</returns>
    ''' <remarks>عدد الايام</remarks>
    Public Function howManyDaysFromStartYearUmAlQura(ByVal TheDayInYear As DateTime) As Integer
        Dim umq As System.Globalization.UmAlQuraCalendar = New System.Globalization.UmAlQuraCalendar
        Dim FirstDateOfYear As New DateTime(umq.GetYear(TheDayInYear), 1, 1, umq)
        Dim daysFromStartYear = (New DateTime(TheDayInYear.Year, TheDayInYear.Month, TheDayInYear.Day) - FirstDateOfYear).TotalDays
        If daysFromStartYear > 0 Then daysFromStartYear += 1
        Return daysFromStartYear
    End Function

    ''' <summary>
    ''' عدد الايام في الاشهر الهجرية
    ''' </summary>
    ''' <param name="Par_Year"></param>
    ''' <param name="Par_Month"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Function howManyDaysInMonthUmAlQura(ByVal Par_Year As Integer, ByVal Par_Month As Byte) As Integer
        Dim umq As System.Globalization.UmAlQuraCalendar = New System.Globalization.UmAlQuraCalendar
        Return umq.GetDaysInMonth(Par_Year, Par_Month)
    End Function

    ''' <summary>
    ''' عدد الايام في الاشهر الهجرية
    ''' </summary>
    ''' <param name="Par_date"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Function howManyDaysInMonthUmAlQura(ByVal Par_date As Date) As Integer
        Dim umq As System.Globalization.UmAlQuraCalendar = New System.Globalization.UmAlQuraCalendar
        Return umq.GetDaysInMonth(umq.GetYear(Par_date), umq.GetMonth(Par_date))
    End Function




    Public Function GetStartDateInMonthUmAlQura(ByVal Par_Year As Integer, ByVal Par_Month As Byte) As DateTime
        Dim umq As System.Globalization.UmAlQuraCalendar = New System.Globalization.UmAlQuraCalendar
        Dim firstDayOfMonth = New DateTime(Par_Year, Par_Month, 1, umq)
        Return firstDayOfMonth
    End Function

    Public Function GetLastDateInMonthUmAlQura(ByVal Par_Year As Integer, ByVal Par_Month As Byte) As DateTime
        Dim umq As System.Globalization.UmAlQuraCalendar = New System.Globalization.UmAlQuraCalendar
        Dim lastDayOfMonth = New DateTime(Par_Year, Par_Month, umq.GetDaysInMonth(Par_Year, Par_Month), umq)
        Return lastDayOfMonth
    End Function
اسم معرفي : محمد يحيى
الرد }}}
تم الشكر بواسطة: adel27 , adel27 , ممدوح
#7
يعطيكم العافيه ما قصرتو
الرد }}}
تم الشكر بواسطة: ممدوح


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  سؤال حول التعامل مع قاعدة البيانات maherhaddaf 2 434 21-07-23, 10:05 AM
آخر رد: maherhaddaf
  التعامل مع الملفات النصية - حذف سطر معين من ملف mmaalmesry 2 589 20-01-23, 09:29 AM
آخر رد: mmaalmesry
Exclamation [VB.NET] التعامل مع عناصر صفحة html من خلال WebView2 paypalet 2 851 26-09-22, 05:00 PM
آخر رد: Basil Abdallah
  [سؤال] كيفيه التعامل مع الاسكي كود حسن الجلب 5 908 16-08-22, 09:01 AM
آخر رد: سعود
  [سؤال] كيفيه التعامل مع ملف XML من حيث الانشاء والكتابة والتعديل والحذف والقراءة حسن الجلب 2 738 02-08-22, 03:00 AM
آخر رد: dr.programming
  التعامل مع قاعدة بيانات sql عن بعد عبدالكريم برشدان 3 811 25-07-22, 03:49 AM
آخر رد: asemshahen5
  التعامل مع رقم الفاتورة علي الشبكة عبدالكريم برشدان 2 657 24-07-22, 02:17 AM
آخر رد: Taha Okla
  التعامل مع الموبايل عن طريق الكمبيوتر ابو انس 2 1,202 14-04-22, 03:16 AM
آخر رد: ابو انس
  [سؤال] ممكن شرح او رابط افضل طرق عرض البيانات في الداتاجريد و التعامل معها غدير الصليحي 2 1,553 19-01-22, 01:46 AM
آخر رد: رضوان الجماعي
  كيف التعامل مع DataGridView في حال وجود اعمدة غير متطابقة في DataSource غدير الصليحي 3 1,531 28-11-21, 12:47 PM
آخر رد: سعود

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم