اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

مرحبًا @Rehab Essam،

يمكنك حساب العمر بطريقة سهلة جدًا،

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>برنامج جافا سكريبت لحساب العمر </title>
</head>
<body>

</body>
</html>

فقط قم بكتابة تاريخ الميلاد مكان الإدخال المظهر في الأسفل وسوف يقوم البرنامج بطباعة العمر في أوامر الطرفية الخاصة بصفحة HTML

function calculate_age(dob) { 
    var diff_ms = Date.now() - dob.getTime(); // أخذ الوقت الحالي وطرح الزمن الزائد منه من أشهر وأيام
    var age_dt = new Date(diff_ms); // إدخال المتغير diff_ms كمتغير زمن
  
    return Math.abs(age_dt.getUTCFullYear() - 1970); 
}

console.log(calculate_age(new Date(1990, 10, 4))); //ادخل تاريخ الميلاد
// output: 30
console.log(calculate_age(new Date(1950, 1, 1))); // ادخل تاريخ الميلاد
// output: 80

 

  • 0
نشر

شكرا جزيلا 
ولاكن هل يمكن عمله بدون function |
لاني وصلت لدرس else و else if ولم اصل الى الfunction

  • 0
نشر

يمكنك القيام بذلك باستخدام التابع التالي:

var birth_month = promt("Month of birth:");
var birth_day = promt("Day of birth:");
var birth_year = promt("Year of birth:");


// نقوم بإنشاء دالة لحساب العمر و نمرر لها المعاملات التالية:شهر الميلاد - يوم الميلاد - عام الميلاد
function calculate_age(birth_month,birth_day,birth_year)
{
  // today_date و نخزنه في المتغير Date في المتغير التالي نحصل على تاريخ اليوم باستخدام الدالة 
    var today_date = new Date();
  
  // today_year من تاريخ اليوم  نحصل على رقم العام الحالي و نخزنه في المتغير
    var today_year = today_date.getFullYear();
  
   // today_month من تاريخ اليوم نحصل على رقم الشهر الحالي و نخزنه في المتغير
    var today_month = today_date.getMonth();
  
  // today_day من تاريخ اليوم نحصل على رقم اليوم الحالي و نخزنه في المتغير
    var today_day = today_date.getDate();
  // age بعدها نقوم بحساب العمر بطرح عام الميلاد من العام الحالي و نُخزن القيمة في المتغير 
    var age = today_year - birth_year;
  

  // بعدها نستخدم الجمل الشرطية التالية لحساب العمر بدقة 
  
    if ( today_month < (birth_month - 1)) {
      // بمقدار 1 age إذا كان الشهر الحالي أقل من شهر الميلاد مطروح منه واحد نقوم بإنقاص قيمة المتغر 
    
        age--;
    }
    if (((birth_month - 1) == today_month) && (today_day < birth_day)) {
      
    
        age--;
    }
    return age;
}


// إذا كنتِ لم تتعلمي عن الدوال بعد يمكنك استخدام هذا الكود كما يلي

var birth_month = promt("Month of birth:");
var birth_day = promt("Day of birth:");
var birth_year = promt("Year of birth:");



// today_date و نخزنه في المتغير Date في المتغير التالي نحصل على تاريخ اليوم باستخدام الدالة 
var today_date = new Date();

// today_year من تاريخ اليوم  نحصل على رقم العام الحالي و نخزنه في المتغير
var today_year = today_date.getFullYear();

// today_month من تاريخ اليوم نحصل على رقم الشهر الحالي و نخزنه في المتغير
var today_month = today_date.getMonth();

// today_day من تاريخ اليوم نحصل على رقم اليوم الحالي و نخزنه في المتغير
var today_day = today_date.getDate();
// age بعدها نقوم بحساب العمر بطرح عام الميلاد من العام الحالي و نُخزن القيمة في المتغير 
var age = today_year - birth_year;


// بعدها نستخدم الجمل الشرطية التالية لحساب العمر بدقة 

if ( today_month < (birth_month - 1)) {
  // بمقدار 1 age إذا كان الشهر الحالي أقل من شهر الميلاد مطروح منه واحد نقوم بإنقاص قيمة المتغر 

  age--;
}
if (((birth_month - 1) == today_month) && (today_day < birth_day)) {

  age--;
}

console.log(age);

أو 

function getAge(dateString) 
{
    var today = new Date();
    var birthDate = new Date(dateString);
    var age = today.getFullYear() - birthDate.getFullYear();
    var m = today.getMonth() - birthDate.getMonth();
    if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) 
    {
        age--;
    }
    return age;
}

 

  • 0
نشر
بتاريخ 7 ساعات قال Rehab Essam:

شكرا جزيلا 
ولاكن هل يمكن عمله بدون function |
لاني وصلت لدرس else و else if ولم اصل الى الfunction

لا يمكن ذلك يجب عليك استخدام ولو حتى التوابع البسيطة مثل Date() و getFullYear() وذلك لكي تستطيع على الأقل من أخذ الوقت الحالي وتحويله إلى السنين ومن ثم حساب العمر باستخدام if و else كما ذكرت.

لكن الدوال تسهل كثيرًا هذه الطريقة، وسوف تتعلمين أكثر عنها في مراحل قادمة.

  • 0
نشر
LocalDate start = LocalDate.of(1996, 2, 29); 
LocalDate end = LocalDate.of(2014, 2, 28); // use for age-calculation: 
LocalDate.now() long years = ChronoUnit.YEARS.between(start, end); 
System.out.println(years); // 17

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...