الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال عن نتيجة هجرهة

مغلق
بدأه mufic_semsem في 24 أكتوبر 2004 · 7 رد · 2,818 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

انا مبتدئ java و الدكتور طالب منا مشروع عمل نتيجة هجرة بتيدى امكانيتين

ان ال user لو دخل السنة الهجرية اطلعلة ال 12 شهر و ايامهم

وثانيا امكانية ان ال user يدخل التاريخ ميلاديا و انا اطلعة لة هجريا

سؤالى فقط فى المعادلة علشان اكيد فى معادلى تحويل و كمان معلة اعرف ازاى كان الشهر الهجرى 30 و لا 29

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

لا اله الا الله .......................................... محمد رسول الله

#2

انت تعرف اننا لا نحل الوظائف انت ابدء بالحل و ضع الكود هنا و سوف نقوم بمساعدتك

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

#3

كلام الاخ رامي صحيح

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

لست متواجد بشكل يومي

#4

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

فللتحويل من السنة الهجرية إلى السنة الميلادية ، نستخدم العلاقة التالية :

ميلادي = 622 + هجري (32 على 33)

فبداية السنة الهجرية 1410 توافق إلى :

ميلادي = 622 + 1410 × (33 على 32) = 622 + 1367،3 = 1989 م .

أما في حال التحويل من السنة الميلادية إلى السنة الهجرية فنستخدم العلاقة :

هجري = (ميلادي – 622) × (33 على 32)

فبداية السنة الميلادية 1989 يوافق إلى :

هجري = (1989 – 622) × (33 على 32) = 1410 هجري تقريبا

منقول من هناhttp://www.alsakrah.com/board/viewtopic.php?t=288

لست متواجد بشكل يومي

#5

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

و كمان انا عايز المعالة مش السنة بس

لا

انا عايز ادخلة التاريخ كامل ميلاديا يطلع التاريخ كامل هجريا

و كمان عايز اعرف ازاى اعرف الشهر الهجرى 30 ولا 29

لا اله الا الله .......................................... محمد رسول الله

#6

يا ريت حد يقولنا على المعادلة أنا سمعت أنه ليها علاقات بعلم الرياضيات

بس مش عارف وين يكمن السر

يا ريت يا جماعة انفكر مع بعضنا اشويه

أو لو حد عنده معرفة بعلم الفلك يا ريت لو يعطينا حتى ولو تلميحات

اللهم انفعنا بما علمتنا وعلمنا ما ينفعنا

أخوكم علاء

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#7

انا لدي هذا الكود وهو يحول تاريخ اليوم من الميلادي الى الهجري وهو عبارة عن ميثود يمرر خلالها اوبجكت من نوع java.util.Date وهو التاريخ بالميلادي وتقوم بتحويله الى التاريخ الهجري على هيئة String .

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

 public static String getDate(java.util.Date date) {
    int jd;
    
    java.text.SimpleDateFormat.SimpleDateFormat f = new java.text.SimpleDateFormat.SimpleDateFormat("s", Locale.getDefault());
    f.applyPattern("dd/MM/yyyy");
    String today = f.format(date);

    StringTokenizer token1 = new StringTokenizer(today, "/");
    int d = Integer.parseInt(token1.nextToken());
    int m = Integer.parseInt(token1.nextToken());
    int y = Integer.parseInt(token1.nextToken());

    if ( (y > 1582) || ( (y == 1582) && (m > 10)) ||
        ( (y == 1582) && (m == 10) && (d > 14))) {
      jd = ( (1461 * (y + 4800 + ( (m - 14) / 12))) / 4) +
          ( (367 * (m - 2 - 12 * ( ( (m - 14) / 12)))) / 12) -
          ( (3 * ( ( (y + 4900 + ( (m - 14) / 12)) / 100))) / 4) + d - 32075;
    }
    else {
      jd = (367 * y - ( (7 * (y + 5001 + ( (m - 9) / 7))) / 4) +
            ( (275 * m) / 9) + d + 1729777);
    }
    int l = jd - 1948440 + 10632;
    int n = ( (l - 1) / 10631);
    l = l - 10631 * n + 354;
    int j = ( ( (10985 - l) / 5316)) * ( ( (50 * l) / 17719)) +
        ( (l / 5670)) * ( ( (43 * l) / 15238));
    l = (int) (l - ( ( (30 - j) / 15)) * ( ( (17719 * j) / 50)) -
               ( (j / 16)) * ( ( (15238 * j) / 43)) + 29);
    m = (int) ( ( (24 * l) / 709));
    d = (int) (l - ( (709 * m) / 24)) + 1;
    y = (int) (30 * n + j - 30);

    return y + "/" + m + "/" + d;
  }

تم تعديل هذه المشاركة بواسطة actiontime في 30 أكتوبر 2004 في 02:40

TheActionTime@hotmail.com

I (LOVE) KFUPM

#8

شكراً جزيلاً لك أخي actiontime

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

هذا الموضوع مغلق.

مواضيع مشابهة