Jump to content
سالم الجعيدي

قاعدة التحويل من ميلادي لهجري

Recommended Posts

هذه قاعدة عامة للتحويل من التقويم الميلادي إلى التقويم الهجري

وضعتها في خطوات سلسة ومنطقية بحيث يسهل على المبتدىء تتبع خطواته بكل يسر ، وكذلك يسهل على المبرمج تحويل خطواته إلى صيغ برمجية

وهي كالتالي

 

إن كان الشهر الميلادي أصغر أو يساوي 2

إذن

أ = الشهر + 12

ب = السنة – 1

وإن كان الشهر أكبر من 2 إذن

أ = الشهر

ب = السنة

ج = ب ÷ 100 ( احذف الكسر مطلقاً من الحاصل )

د = ب ÷ 400 ( احذف الكسر مطلقاً )

ع = 2 – ج + د

 

إن كان حسابك لتاريخ أصغر من 15 أكتوبر من عام 1582 فإن

ع = صفر دائماً

و = ( ب + 4716 ) × 365.25 ( احذف الكسر )

ز = ( أ + 1 ) × 30.6001 ( احذف الكسر )

ح = الأيام + ز + و + ع - 1524

ط = ( ح - 1948438 ) ÷ 354.3667

الحاصل الأخير يحتوي على عدد صحيح وكسر عشري

 

السنة الهجرية = العدد الصحيح + 1

ي = الكسر العشري × 12.01234 ( احذف الكسر )

ك = الكسر العشري × 12.01234 - ي

الشهر الهجري = ي + 1

الأيام = ك × 29.5 ( احذف الكسر مطلقاً )

 

 

مثال

11 سبتمبر عام 2000 م

 

أ = 9

ب = 2000

الأيام = 11

ج = 2000 ÷ 100 = 20

د = 2000 ÷ 400 = 5

ع = 2 – 20 + 5 = -13

و = ( 2000 + 4716 ) × 365.25 = 2453019

ز = ( 9 + 1 ) × 30.6001 = 306

ح = 11+306+2453019-13-1524 = 2451799

ط = ( 2451799 - 1948438 ) ÷ 354.3667 = 1420.4523167

 

العدد الصحيح هو 1420

الكسر العشري هي 0.4523167

السنة الهجرية = 1420 + 1 = 1421

ي = 0.4523167 × 12.01234 = 5 بحذف الكسر

ك = 5.43338282 – 5 = 0.43338282

الشهر الهجري = 5 + 1 = 6 ( أي جمادى الثاني )

الأيام = 0.43338282 × 29.5 = 12 بحذف الكسر

 

إذن 11 سبتمبر 2000 م يوافق 12 جمادى الثاني عام 1421 للهجرى

 

وبالله التوفيق

أخوكم سالم الجعيدي

Share this post


Link to post
Share on other sites

السلام عليكم .

شكرا لك أخي الكريم علي الموضوع القيم .

وتلك الطرق السهلة للتحويل .

وفقك الله وحقق لك كل أمانيك .

أختك همسة smile.gif

Share this post


Link to post
Share on other sites

 

هنا ملاحظتين على ما ذكرته آنفاً

أولاً يشترط الفكيون لأجل تحري الدقة في الحساب

أن نستخرج يوم الأسبوع للتاريخ المعلوم

ونستخرج كذلك يوم الأسبوع للتاريخ المجهول

ولا بد أن يكون يوم الأسبوع للمجهول مطابقاً لليوم الأسبوع المعلوم

فإن حصل فرق بينهما - وهو عادةً لا يتجاوز يوماً واحداً - فاحذف أو أضف يوماً للتاريخ المجهول

مثال لذلك

لنفرض التاريخ المعلوم هو الثلاثاء 8 شهر رجب

وناتج التاريخ الميلادي المجهول والمستخرج بالقواعد الحسابية السابقة هو 23 شهر مايو يوم الأثنين فلا بد أن نضيف يوماً للتاريخ الناتج بيصبح 24 مايو الثلاثاء فيكون مطابقاً للتاريخ الهجري المعلوم

 

ثانياً

الأشهر الهجرية هنا هو الهجري الوسطي الذي اصطلح عليه علماءهذا الفن

وهو قد يفرق عن الشهر الشرعي الحاصل بالرؤية

وهو في الأغلب يوماً واحداً فقط

Share this post


Link to post
Share on other sites

الأخ الكريم عبد الله

حياك الله

أنا فهمت قصدك

على العموم عندما وضعت أنا القاعدة المذكورة بالأعلى كان أغلب ظني أن اهتمام القراء والمؤرخين في التحويلات سيكون ضمن الفترة من أول يوم في الهجرى أي 16 يوليو 622 م إلى عصرنا الراهن لذلك لم أضع ملاحظة على من يطلب تحويلات لتواريخ سابقة على بداية سنة الهجرى

 

المهم

لحساب التاريخ القمري الذي يسبق 16 يوليو 622 م نتبع نفس الخطوات السابقة تماماً دزن تغيير كما هو

حتى تصل إلى حساب العنصر ( ط ) فستجد الأشارة فيه بالسالب

إجعل إشارة السالب بالموجب مطلقاً ثم احسب السنة الهجرية كما هو مشروح سابقاً

 

أما الكسر العشري في العنصر ( ط ) فاطرحه من واحد

أي ( 1 – الكسر العشري في العنصر ط )

ثم تمم العملية بهذا الحاصل الأخير في حساب بقية الخطوات كما هو معروف

 

أي أن التغيير وقع في العنصر ( ط ) في أمرين فقط

أولاً حذفنا إشارة السالب وجعلناه بالموجب

ثانياً أخذنا الكسر العشري في العنصر ط وطرحناه من واحد

وبقية الحساب كما هو

 

على سبيل المثال

20 مارس 500 للميلاد

ا = 3

ب = 500

ج = 5

د = 1

ع = صفر

و = 1905144

ز = 122

ح = 1903762

 

ط = - 126.0727941

نحذف إشارة السالب فيصير 126.0727941

السنة الهجرية = العدد الصحيح 126 + 1 = 127

نغير الكسر العشري للعنصر ط كالتالي ( 1 - 0.0727941 ) يساوي 0.9272059

ثم نكمل بقية الحساب كما هو مذكور سابقاً

 

ي = الكسر العشري المعدل 0.9272059 * 12.01234 = 11

ك = 11.13791252 - 11 = 0.13791252

الشهر القمري = 11 + 1 = 12

الأيام = 0.13791252 * 29.5 = 4

إذن التاريخ هو 4 ذو الحجة 127 قبل الهجرى

 

أما المثال الذي طلبته

22 إبريل عام 571 م

ا = 4

ب = 571

ج = 5

د = 1

ع = صفر

و = 1931076

ز = 153

ح = 1929727

ط = - 52.80123669

نحذف إشارة السالب فيصير 52.80123669

السنة الهجرية = 52 + 1 = 53

نعدل الكسر العشري ( 1 – 0.80123669 ) يصير 0.19876331

إذن ي = 0.19876331 * 12.01234 = 2

ك = 2.38712459 – 2 = 0.38712459

الشهر القمري = 2 + 1 = 3

الأيام = 0.38712459 * 29.5 = 11

إذن 22 إبريل 571 م يوافق 11 / 3 / 53 قبل الهجرى

والسلام

 

أخوك سالم الجعيدي

 

Share this post


Link to post
Share on other sites

السلام عليكم ورحمة الله وبركاته

 

نشكركم على هذه الدروس القيمة ووفق الله لكل خير وصلاح

 

اختكم زنبق

Share this post


Link to post
Share on other sites

الأستاذ سالم بارك الله فيك

جزاك الله خير على هذه القاعدة المبسطة والقوانين المذكورة ...

 

إلا أني أريد منك أن تاتي بالهجري من 6 يناير2000م

 

وهناك تواريخ أخر .. يطلع علي اليوم 0 .. وفي بعض الأحيان يكون مساويا لـ30 أو لـ29

 

فهل يوجد ضابط لإصلاح هذه المعضلة ...

وشكرا

Share this post


Link to post
Share on other sites

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

 

ثم بعد قراءة ولملمة أفكار ومعلومات الأخذ والرد في هذه الصفحة وجمعا للأفكار صممت ورقة إكسل على غرار الورقة التي صممها الاستاذ سالم في موضوع التحويل من الهجري إلى الميلادي.

 

وفي هذه الصفحة تحريت أن تحل الإستفسارات وترضى جميع الأطراف حيث أنها تعطي حلا للآتي:

1- إيجاد تحويل للتواريخ ما قبل 15 أكتوبر من عام 1582م حسب ما ذكرها الاستاذ سالم.

 

2- إيجاد تحويل للتواريخ ما قبل 16 يوليو 622م ومنها التاريخ الذي سأل عنه الأخ عبدالله عبدالله وهو تحويل التاريخ 22 نيسان ابريل 571 ميلادية.

 

3- تحويل للتاريخ الميلادي إلى الهجري عندما يعطي التاريخ صفراً في تاريخ اليوم وهو جواب لسؤال من الأخ رمضان بتحويل تاريخ 6 يناير2000م إلى هجري

 

فإن هذه المعادلات تعطي صفراً في اليوم أو صفراً في الشهر في بعض التواريخ

فهمت من ذلك أنه هو اليوم الثلاثين من كل شهر وكان ذلك حسب التوقيت الهجري الوسطي الذي ذكره الأستاذ سالم وليس حسب التوقيت الهجري الشرعي المترتب على رؤية الهلال.

 

حيث من المفترض أن نعدل التاريخ كل نهاية شهر بتقديم يوما أو تأخير يوم وفي هذا لم أجد قاعدة مثلى بل وجدت فيها قولان:

 

القول الأول:

بأن نحدد أسم اليوم من أيام الاسبوع للتاريخ المعلوم ونحدد أيضاً اسم اليوم للتاريخ المجهول والذي لن يفرق بينهما إلا يوم تقديما أو تأخيراً وعندئذ نعدل التاريخ الجديد بإضافة يوم أو إنقاص يوم وهذا حسب القاعدة التي أوردها الأستاذ سالم في هذا الموضوع ولكن هناك إشكال فأنا أستطيع أن أحدد يوم الأسبوع من التاريخ المعلوم حيث يوجد في لغات البرمجة من الدوال ما تحدد من التاريخ الميلادي ما هو اسم اليوم.

 

ولكن هل هناك طريقة لإيجاد اسم اليوم من أيام الأسبوع للتاريخ الهجري المجهول (مجهولا أو حتى معلوم)؟

 

حتى يمكننا أن نستطيع أن نقدم يوما أو نؤخره وهذا سؤال موجه للأستاذ سالم نفسه أو لأي شخص يمكنه أن المشاركة معنا فيما يعرفه

فجزا الله خيرا من أفاد الآخرين بعلمه....

 

القول الثاني:

بأن نجعل دائماً أيام كل شهر فردي تكون كاملة 30 يوماً وكل شهر زوجي 29 يوما

إلى أن نصل إلى ذي الحجة فنجعل أيامه 29 يوما إذا كانت السنة بسيطة أو 30 يوماً إذا كانت السنة كبيسة (وهذا قول لأحد الإخوان بأحد المنتديات وقد أورد قاعدة لحساب السنة الكبيسة من البسيطة) وأيضاً هذه الطريقة لا أستطيع أن أجزم بصحتها أو خطئها.

 

على العموم إليكم الملف المرفق المضغوط لمن أراد والمجال مفتوح لمن أستطاع أن

يعقب أو يسعف أخوانه ويفيدهم بأية معلومة بهذا الشأن وجزا الله خيرا من أهدانا جزءاً من علمه ولو قطرة..

thweel_G2H.zip

Share this post


Link to post
Share on other sites

الأخ الموقر رمضان ‏

 

تحية طيبة ‏

 

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

والأجابة أنني اختصرت عدة معادلات من خطوات الحساب تحاشياً من الأطالة ، وطلباً في ‏الأختصار والتسهيل ، وقد غاب عني أن أذكر حالتين استثنائيتين قد يقع فيهما الحاسب ‏

 

الحالة الأستثنائية الأولى : ‏

إذا ظهر بالحساب أن الأيام يساوي صفر ‏

فالتعديل له كالتالي ‏

الشهر الهجري = ي ، وليس ( ي + 1 ) ‏

والأيام = 30 يوماً إذا كان ( ي ) عدد فردي ‏

أما إذا كان ( ي) عدد زوجي فإن فالأيام = 29 يوماً ‏

 

الحالة الأستثنائية الثانية : ‏

إذا ظهر بالحساب أن ‏

ي = صفر ‏

فالتعديل هو ‏

السنين الهجرية = العدد الصحيح فقط ، وليس ( العدد الصحيح + 1 ) ‏

الشهر = 12 دائماً أي شهر ذو الحجة ‏

الأيام = 30 يوماً إذا كانت السنة الهجرية المستخرجة كبيسة ‏

و 29 يوماً إذا كانت السنة الهجرية بسيطة ‏

 

ولمعرفة السنة الكبيسة من البسيطة في التقويم الهجري ‏

أقسم السنة الهجرية على 30‏

فإن كان الباقي أحد هذه الأرقام فالسنة كبيسة ( 2 ، 5 ، 7 ، 10 ، 13 ، 15 ، 18 ، 21 ، 24 ، ‏‏26 ، 29 ، ) ‏

أما إن كان الباقي غير ذلك فالسنة بسيطة ‏

 

ففي مثالنا الذي ذكره الأستاذ رمضان ‏

‏6‏ يناير عام 2000 م ‏

 

ا = 13 ‏

ب = 1999 ‏

ج = 19 ‏

د = 4 ‏

ع = -13 ‏

و = 2452653 ‏

ز = 428 ‏

ح = 2451550 ‏

ط = 1419.74965481 ‏

ي = 9 ‏

ك = 0.0051084 ‏

الأيام = صفر ، الشهر = 10 ، السنة = 1420 ‏

حيث أن الأيام هو صفر ‏

فمن قاعدة الحالة الأستثنائية الأولى لابد هنا من تعديل كالاتي ‏

الشهر = ي = 9 أي شهر رمضان ‏

الأيام = 30 يوم لأن ( ي ) عدد فردي ‏

إذن 6 يناير 2000 م يوافق 30 رمضان 1420 ‏

وبالله التوفيق ‏

 

بالنسبة لتعقيب الأخ jamal_faiye فأنا لم أطلع عليه سوى الآن بعد كتابة مشاركتي هذه ، وسأحاول النظر في كلامه مع خالص شكري وتقدير لمشاركته

 

 

 

 

 

Share this post


Link to post
Share on other sites

السلام عليكم..

مشكور ياجماعة الخير على المجهود الطيب وإنشاء الله في ميزان حسناتكم

أنا طبقت المعادلة إنشاء الله بشكل صحيح 100% مع جميع الإستثناءات biggrin.gif

ولكن واجهتني مشكلة صغيرة في التحويل

ففي تاريخ 1 يناير للعام 2005 الناتج :

20 - ذو القعدة - 1425هـ

وتاريخ 1 يناير للعام 2006 الناتج :

1 - ذو الحجة - 1426هـ

وتاريخ 1 يناير للعام 2007 الناتج :

12 - ذو الحجة - 1427هـ

وهنا الخطأ في عام 2007 أليس من المفترض أن يكون التاريخ 11 - ذو الحجة - 1427 هـ

أي تعليقات على الموضوع ؟

 

 

 

Share this post


Link to post
Share on other sites

سلام الله عليكم ورحمة الله وبركاته

 

وانا ايضا حصلت معي مشكلة اخرى وهي عند ادخال تاريخ

1 - 7 - 1984

يظهر التاريخ الهجري 2- شوال - 1404

لكن عند ادخال 2 - 7 - 1984 يظهر لي التاريخ الهجري 4 شوال 1404

 

الرجاء مساعدتي ولكم جزيل الشكر

 

اختكم زنبق

Share this post


Link to post
Share on other sites

أخواني الكرام

تحية طيبة لكم

الأخ الكريم Okie الأول من يناير عام 2007 م يوافق 12 ذو الحجة وفق ترجيح جمهور الفلكيين الذين جعلوا أول الهجرى هو يوم الخميس أما الذين جعلوا أول الهجرى يوم الجمعة فإن أول 2007 يوافق 11 ذو الحجة فلا يوجد مشكلة في الحساب سوى في مبدأ أول سنة هجرة المصطفى صلى الله عليه وسلم

أما المشكلة التي ذكرتها أختي زنبقة فهي تستحق النظر

لذلك فإنني أود هنا أن أطرح بين أيديكم قاعدة دقيقة جداً للتحويل من ميلادي لهجري

مأخوذة من أبحاث المهندس محمد شوكت ، والدكتور علي عبنده

وقد رتبت طرقه الحسابية وبسطت العبارة فيها لأجل التسهيل على الهواة

وقد راجعت الحساب بها لعدة سنوات عديدة فكانت نتائج الحساب قرينة الصواب

ومستغرقة لكافة الأستثنائيات وللأخطاء الدقيقة السابقة في حسابنا الأول

وقد برمجت كل الطرق في برنامج أكسل مع ذكر عناصر الحساب لأجل الفائدة للجميع

والطريقة الحسابية كالتالي

إن كان الشهر الميلادي أصغر أو يساوي 2

إذن

أ = الشهر + 12

ب = السنة الميلادية – 1

وإن كان الشهر الميلادي أكبر من 2 فإن

أ = الشهر

ب = السنة

ج = ب ÷ 100 ( إحذف الكسر مطلقاً)

د = ب ÷ 400 ( احذف الكسر مطلقاً )

ع = 2 – ج + د

ملاحظة : إذا كان حسابك لتاريخ يقع قبل 15 أكتوبر 1582 م

فإن ع = صفر دائماً

و = ( ب + 4716 ) × 365.25 ( احذف الكسر مطلقاً )

ز = ( أ + 1 ) × 30.6001 ( أحذف الكسر مطلقاً )

ح = الأيام + ز + و + ع – 1524.5

ط = ح – 1937806.5

ك = ( ط – 1 ) ÷ 10631 ( احذف الكسر مطلقاً )

ل = ( ط + 354 ) – 10631 × ك

م = ( 10985 – ل ) ÷ 5316 (احذف الكسر )

ن = ( 50 × ل ) ÷ 17719 ( احذف الكسر )

س = ل ÷ 5670 ( احذف الكسر )

ف = ( 43 × ل ) ÷ 15238 ( احذف الكسر )

ق = م × ن + س × ف

ص = ( 30 – ق ) ÷ 15 ( احذف الكسر )

ر = ( 17719 × ق ) ÷ 50 ( احذف الكسر )

ش = ق ÷ 16 ( احذف الكسر )

ت = ( 15238 × ق ) ÷ 43 ( احذف الكسر )

ث = ل – ص × ر – ش × ت + 29

الشهر الهجري = ( 24 × ث ) ÷ 709 ( احذف الكسر )

غ = ( 709 × الشهر الهجري ) ÷ 24 ( احذف الكسر )

اليوم الهجري = ث – غ

السنة الهجرية = 30 × ك + ق – 30

ملاحظة إبدأ في العمليات الحسابية بما في داخل القوس ، وابدأ بالضرب قبل الجمع والطرح

 

مرفق برنامج إكسل قد برمجت به عناصر الحساب السابق

يمكنك إدخال التاريخ الميلادي وستجد حاصل الحساب بالأسفل

Book1.zip

Share this post


Link to post
Share on other sites

سلام الله عليكم ورحمة الله وبركاته

 

شكرا جزيلا اخي الفاضل على هذه المساعدة

لكن لدي سؤال بالنسبة الى احد المعادلات

 

انتم كتبتم ان :

ط =ح – 1959070.5

 

لكن بعد تطبيق المعادلة في الاكسل وجدت ان المعادلة تكون

ط= ح - 1937806.5

 

ايهما اصح

 

اختكم زنبق

Share this post


Link to post
Share on other sites

مشكور وايد أختي زنبق

لقد تم التعديل بحمد الله

 

وللفائدة

إذا أردنا أن نحسب يوم الأسبوع للتاريخ الهجري فنعمل هذه الخطوة

 

( ط - 1 ) ÷ 7

حاصل العملية السابقة يحتوي على أعداد صحيحة وكسور عشرية

إحذف الأعداد الصحيحة

ثم

يوم الأسبوع = الكسور العشرية × 7

 

إذا كان الحاصل هو الرقم 1 فهذا يعني يوم الأحد

الرقم 2 يعني يوم الأثنين

الرقم 3 يعني يوم الثلاثاء

وهكذا

الرقم 6 يعني يوم الجمعة

يوم السبت هو الرقم صفر أو سبعة

والله الموفق

أخوكم سالم الجعيدي

Share this post


Link to post
Share on other sites

سلام الله عليكم ورحمة الله وبركاته

شكرا لكم على التصحيح وعلى المعلومات الجديدة

 

اختكم زنبق

Share this post


Link to post
Share on other sites

السلام عليكم ورحمة الله وبركاته

شكرا لك الأخ العزيز سالم الجعيدي على هذا المجهود الطيب

واسمح لي بأن ارفق هذا البرنامج الذي عملته بالفيجول بيسك مع الكود طبقا لحساباتك.

وشكرا

d.zip

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

موضوع قيم ومتعوب عليه

 

تسلم على الشرح الوافي

 

ولقد شدني الموضوع وسأقوم بالاحتفاظ به في جهازي

Share this post


Link to post
Share on other sites

السلام عليكم

بس بغيت أقول مشكووورررين على هالمجهود الطيب!!

 

وانا عني شخصيا حاولت وااايد فالكود اللي حطيتوه ,,

 

والحمدلله ضبط ,, بس المشكله انه يعطيني يوم متجدم !!

 

مثلا لازم يكون اليوم 28 فيعطيني 29

 

كتعديل انا سويته (ث-غ)-1 ...<<< وبيظبط معاكم الكود!!!

Share this post


Link to post
Share on other sites

الأستاذ سالم الجعيدي

 

اسمك صراحة لم أنسه أبداً من كثر ترددي على مواضيعك : )

 

هل لي أن أسألك في تحويل 16 / 7 / 622 م إلى التاريخ الهجري بواسطة آخر العمليات الحسابية التي قمت بسردها على هذا الرابط:

http://qasweb.org/qasforum/index.php?s=&am...post&p=5578

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×