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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مشكلة عند التعامل مع DevExpress آمل أن أجد لها حلًا أحمد إبراهيم سعد 8 141 16-09-17, 08:02 PM
آخر رد: tarek
  [VB.NET] التعامل مع DataGrideView 0theghost0 8 188 01-09-17, 06:35 PM
آخر رد: 0theghost0
  هل يوجد كتاب متخصص في التعامل مع الصور في فيجوال بيسك 2013 rafaag777 1 93 20-08-17, 10:55 PM
آخر رد: العواد الصغير
Wink [مثال] فيديو طريق التعامل مع textbox في شكل إله حسابه alims 1 95 13-08-17, 10:52 PM
آخر رد: Amir_alzubidy
  التعامل مع الصور abdulla2 2 159 13-08-17, 04:23 PM
آخر رد: سعود
  التعامل مع الصوتيات abdulla2 1 109 29-07-17, 11:10 PM
آخر رد: سعود
  التعامل مع فورم جديد ddemed 11 365 22-06-17, 04:45 PM
آخر رد: ddemed
  [VB.NET] كيفية التعامل مع فورم جديد برمجيا الماجيك مسعد 6 411 14-06-17, 06:56 AM
آخر رد: silverlight
  كيفية التعامل مع My.Settings محمد الزواوي 2 782 14-06-17, 02:44 AM
آخر رد: m.farag87
  [VB.NET] مشروع مرفق يبين كيفية التعامل مع Datagridview lkaam 2 201 12-06-17, 10:54 PM
آخر رد: khaled12345

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


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