المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : التحويل ميلادي-هجري...


زياد علاوي
04-10-2007, 12:15 PM
بسم الله الرحمن الرحيم...
لطالما عانت بعض البرامج للتحويل بيت التقويمين الى مشاكل عديدة وذلك بسبب الجهل في حسابات التقويمين الميلادي والهجري لذك وبطلب من الأخ غسان قمت ببرمجة برنامجين للتحويل بين التقويمين وكانت نتائجهما رائعة...
تتلخص طريقة التحويل بأن نحول التاريخ المعطى الى ايام ومن ثم نعالجه بفرق التقويمين وهو 227015 يوم ومن ثم نعود لتحويله الى التقويم المطلوب...
وفي الآتي البرنامجين بلغة كويك-بيسك...
علاوي...

زياد علاوي
04-10-2007, 12:19 PM
البرنامج الأول تحويل ميلادي -> هجري

CLS
REM Converts Christian Date to Islamic Date
INPUT "Year:"; Y
INPUT "Month:"; M
INPUT "Day:"; D
M = M + 1
IF M < 4 THEN M = M + 12: Y = Y - 1
DD = INT(365.25 * Y) + INT(30.6 * M) + D - 429
IF DD > 577736 THEN DD = DD - INT(Y / 100) + INT(Y / 400) + 2
DD = DD - 227015
Y = INT((DD + 1773) * 30 / 10631) - 4
T = DD - INT((Y + 4) * 10631 / 30) + 1771
M = INT(T / 29.5) + 1
D = T - INT(M * 29.5 - 29) + 1
PRINT "Date:"; Y ; M ; D
END

علاوي...

زياد علاوي
04-10-2007, 12:25 PM
البرنامج الثاني تحويل هجري -> ميلادي

CLS
REM Converts Islamic Date to Christian Date
INPUT "Year:"; Y
INPUT "Month:"; M
INPUT "Day:"; D
DD = D + INT(M * 29.5 - 29) + INT((Y + 4) * 10631 / 30) - 1772
I = DD + 227015
IF I > 577736 THEN A = INT((I + 305) / 36524.25): I = I + A - INT(A / 4) - 2
Y = INT((I + 306) / 365.25)
C = I - INT(Y * 365.25) + 429
M = INT(C / 30.6)
D = C - INT(M * 30.6)
M = M - 1
IF M > 12 THEN M = M - 12: Y = Y + 1
PRINT "Date:"; Y; M; D;
END

علاوي...

غسان
10-10-2007, 03:44 PM
شكرا لك صديقي العلاوي الفلكي
وبالفعل هذا ما نحن نحتاجه معادلات دقيقة في الاستخراج

ياالله فرج همي
27-10-2013, 08:10 PM
جزاك الله خيرا

الجيجاني
14-08-2017, 10:05 PM
شكرا جزيلا على البرامج

المكسوره
15-09-2017, 09:11 PM
لا اثق بالتحويل إلى هجري لانه ليس فلكي وانما رؤية في اغلب الدول

جبال الحجر
23-09-2017, 03:22 PM
شكرا جزيلا

الحسناء
13-11-2017, 02:10 PM
بوركت

السعيد المفكر
28-06-2022, 11:21 AM
شكرا لك You can see links before reply

مرتضى العراقي
15-01-2024, 02:06 PM
شكرا جزيلا اخي