تقييم الموضوع :
  • 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
يعطيكم العافيه ما قصرتو
الرد }}}}
تم الشكر بواسطة: ممدوح


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] التعامل مع الباركود حروف وأرقام ..؟ adel27 5 108 21-11-16, 10:45 PM
آخر رد: محمود بكرى
  [سؤال] التعامل مع الزر الموجود في DataGrideView هل يستطيع حذف الصف الذي به البتن thevirus 1 100 10-11-16, 09:20 PM
آخر رد: ابراهيم النعيمي
  [VB.NET] كيفية التعامل مع العلاقات برمجياً ؟؟؟؟ thevirus 4 138 06-11-16, 08:22 PM
آخر رد: thevirus
  اريد مساعدة في التعامل مع هذا الموقع بالفيجوال بيسك soper 2 81 03-11-16, 07:08 PM
آخر رد: soper
Lightbulb [VB.NET] سؤال حول التعامل مع الماسح الضوئي salhigc 3 119 02-11-16, 04:15 PM
آخر رد: salhigc
  التعامل مع المجلد المنشأ adel27 7 118 31-10-16, 02:31 PM
آخر رد: adel27
  [سؤال] طريقة التعامل مع السلاسل والنصوص saad mahyoub 4 180 26-09-16, 10:36 PM
آخر رد: saad mahyoub
  [VB.NET] سؤال بخصوص التعامل مع الصور 0theghost0 3 181 30-08-16, 07:10 PM
آخر رد: 0theghost0
  كيفية التعامل مع منتديات الفى بى vbulletin الماجيك مسعد 14 485 18-06-16, 07:40 PM
آخر رد: الماجيك مسعد
  [سؤال] بعض دوال التعامل مع المصفوفات LoveVb 2 193 08-05-16, 07:35 PM
آخر رد: LoveVb

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


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