كان العرب يؤرخون بالأشهر القمرية، فاعتمدوا التقويم القمري، إذ يبدأ الشهر القمري عند رؤية الهلال الجديد في الأفق الغربي بعد غروب الشمس، و يستمر الشهر القمري حتى رؤية الهلال الجديد التالي. و بقي العرب يؤرخون سنواتهم بأحداث هامة حدثت في تلك السنوات إلى أن جمع الخليفة عمر بن الخطاب رضي الله عنه الصحابة يوم الأربعاء 20 جمادى الآخرة سنة 17 للهجرة (الموافق 8/7/638 م) و تم الإجماع على اختيار وقت الهجرة ليكون بداية التقويم الإسلامي، و على الرغم من أن الهجرة حدثت يوم الاثنين 8 ربيع الأول سنة 1 للهجرة (الموافق 20/9/622 م) إلا أنه اتفق على جعل رأس السنة الهجرية هو بداية شهر محرم.
* أول أيام التقويم الهجري
يرى البعض أن بداية التقويم الهجري (1/1/1 هـ) كان يوم الجمعة 16/07/622 م، في حين يرى آخرون أن بداية التقويم الهجري كانت يوم الخميس 15/07/622 م. فإذا رجعنا إلى الحسابات الفلكية نجد أنه لم يكن بالإمكان رؤية الهلال يوم الأربعاء 14/07/622 م بالعين المجردة من أي منطقة في العالم، و عليه فنحن نرجح أن تكون بداية التقويم الهجري يوم الجمعة 16/07/622 م.
* اليوم اليولياني (Julian Day)
اليوم اليولياني هو بمثابة عداد أيام مستمر منذ العام 4712 قبل الميلاد، فاليوم اليولياني الموافق ليوم 01/01/2002م مثلا هو 2452276.0، أي أن عدد الأيام منذ العام 4712 قبل الميلاد و حتى 01/01/2002 هو 2452276.0 يوما. و يبدأ اليوم اليولياني عند الساعة 12 ظهرا حسب توقيت جرينتش.
* التحويل من اليوم اليولياني إلى تاريخ ميلادي و بالعكس
إن الطريقة المستخدمة في هذه الورقة لتحويل التاريخ الميلادي إلى هجري و بالعكس، تحول فعليا اليوم اليولياني إلى تاريخ هجري، و تحول التاريخ الهجري إلى يوم يولياني، و بالتالي إذا أردنا تحويل تاريخ ميلادي إلى تاريخ هجري، علينا أولا أن نحول التاريخ الميلادي إلى يوم يولياني و من ثم نحول هذا اليوم اليولياني إلى تاريخ هجري. أما إذا أردنا تحويل التاريخ هجري إلى تاريخ ميلادي، فعلينا أولا أن نحول التاريخ الهجري إلى يوم يولياني، و من ثم نحول هذا اليوم اليولياني إلى تاريخ ميلادي.
* التحويل من اليوم اليولياني إلى تاريخ هجري
قراءة الأكواد من الشمال إلى اليمين
L = JD - 1948440 + 10632 N = (L - 1) / 10631 L = L - 10631 * N + 354 J = ((10985 - L) / 5316) * ()50 * L) / 17719) + (L/ 5670) * ((43 * L) / 15238) L = L – ((30 - J) / 15) * ((17719 * J) / 50) - (J/ 16) * ((15238 * J) / 43) + 29 M = (24 * L) / 709 D = L - (709 * M) / 24 Y = 30 * N + J – 30
حيث إن الرقم يستخدم 1948440 في المعادلة الأولى إذا اعتبرنا أن بداية التقويم الهجري كانت يوم الجمعة 16/07/ 622 م، أما إذا اعتبرنا أن بداية التقويم الهجري كانت يوم الخميس 15/7/622 م فعندها يجب استخدام الرقم 1948439.
JD: هو اليوم اليولياني الموافق للتاريخ الميلادي المراد تحويله، و لإيجاد اليوم اليولياني انظر الملحق (1).
M: الشهر الهجري.
D: اليوم الهجري.
Y: السنة الهجرية.
ملاحظة هامة: إن نتيجة القسمة في جميع العمليات الحسابية أعلاة يجب أن تؤخد لأكبر عدد صحيح، أي بشطب الكسور الناتجة، و لذلك يجب برمجة هذه المعادلات في الحاسوب على النحو التالي:
L = Int(JD) - 1948440 + 10632 N = Int((L - 1) / 10631) L = L - 10631 * N + 354 J = Int((10985 - L) / 5316) * Int((50 * L) / 17719) + Int(L / 5670) * Int((43 * L) / 15238) L = L - Int((30 - J) / 15) * Int((17719 * J) / 50) - Int(J / 16) * Int((15238 * J) / 43) + 29 M = Int((24 * L) / 709) D = L - Int((709 * M) / 24) Y = Int(30 * N + J - 30
* التحويل من تاريخ هجري إلى يوم يولياني
JD = (11 * Y + 3) / 30 + 354 * Y + 30 * M - (M - 1) / 2 + D + 1948440 – 385
حيث إن الرقم 1948440 يستخدم في المعادلة أعلاه إذا اعتبرنا أن بداية التقويم الهجري كانت يوم الجمعة 16/07/622 م، أما إذا اعتبرنا أن بداية التقويم الهجري كانت يوم الخميس 15/7/622 م فعندها يجب استخدام الرقم 1948439.
JD: اليوم اليولياني، و يحول إلى تاريخ ميلادي باستخدام المعادلات في الملحق (1).
Y: السنة الهجرية.
M: الشهر الهجري.
D: اليوم الهجري.
ملاحظة هامة: إن نتيجة القسمة في جميع العمليات الحسابية أعلاة يجب أن تؤخد لأكبر عدد صحيح، أي بشطب الكسور الناتجة، و لذلك يجب برمجة المعادلة أعلاه في الحاسوب على النحو التالي:
JD = Int((11 * Y + 3) / 30) + Int(354 * Y) + Int(30 * M) - Int((M - 1) / 2) + D + 1948440 - 385
تحويل اليوم اليولياني إلى تاريخ ميلادي و بالعكس
1- تحويل التاريخ الميلادي إلى يوم يولياني:
- فلتكن Y = السنة، M = الشهر، D = اليوم. - إذا كانت M < 2 فإن: M = M, Y = Y. - إذا كانت M = 1 أو 2، فإن (Y = Y -1)، (M = M + 12). - إذا كان التاريخ بالتقويم الجريجوري (بعد 15/10/1582م) فإن A = INT(Y/100) B = 2 - A + INT (A/4) - إذا كان التاريخ بالتقويم اليولياني (قبل 15/10/1582م) فإن B = 0. JD = INT(365.25(Y+4716)) + INT(30.6001 (M+1)) + D + B - 1524.5
2- تحويل اليوم اليولياني إلى تاريخ ميلادي:
L = JD + 68569 N = (4 * L) / 146097 L = L – (146097 * N + 3) / 4 I = (4000 * (L+1)) / 1461001 L = L – (1461 * I) / 4 + 31 J = (80 * L) / 2447 D = L – (2447 * J) / 80 L = J / 11 M = J + 2 – 12 * L Y = 100 * (N – 49) + I + L
حيث إن:
JD: اليوم اليولياني المراد تحويله.
D: اليوم الميلادي.
M: الشهر الميلادي.
Y: السنة الميلادية.
ملاحظة هامة: إن نتيجة القسمة في جميع العمليات الحسابية أعلاة يجب أن تؤخد لأكبر عدد صحيح، أي بشطب الكسور الناتجة.
__________________
عباراتنا شتى وحسنك واحد * وكل إلى ذاك الجمال يشير
فريق الشامل
سوريا الشمس
طرطوس