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

كيفية طرح تاريخ من تاريخ والتاريخ الآخر ثابت وإظهار النتيجة باليوم والشهر والعام

اشرف حسونه

السؤال

Recommended Posts

  • 0

لطرح تاريخ من تاريخ آخر في JavaScript، يمكنك استخدام مكتبة Date المدمجة في JavaScript لتنفيذ العملية. أولاً، ستحتاج إلى تحويل النص الموجود في حقل النص الثابت إلى كائن Date، ثم تحويل النص الموجود في حقل النص الثاني إلى كائن Date، وبعد ذلك يمكنك طرح التواريخ واستخراج النتيجة.

<!DOCTYPE html>
<html>
<head>
  <title>Date Subtraction</title>
</head>
<body>
  <label for="firstDate">Enter the first date (yyyy/mm/dd):</label>
  <input type="text" id="firstDate" value="2019/11/2"><br>

  <label for="secondDate">Enter the second date (yyyy/mm/dd):</label>
  <input type="text" id="secondDate" value="2023/07/25"><br>

  <button onclick="subtractDates()">Subtract Dates</button>

  <p id="result"></p>

  <script>
    function subtractDates() {
      // Get the values from the text fields
      const firstDateString = document.getElementById("firstDate").value;
      const secondDateString = document.getElementById("secondDate").value;

      // Convert the text to Date objects
      const firstDate = new Date(firstDateString);
      const secondDate = new Date(secondDateString);

      // Calculate the difference in milliseconds
      const differenceInMilliseconds = secondDate - firstDate;

      // Convert milliseconds to days, months, and years
      const daysDifference = Math.floor(differenceInMilliseconds / (1000 * 60 * 60 * 24));
      const monthsDifference = Math.floor(daysDifference / 30.44); // Assuming average month length of 30.44 days
      const yearsDifference = Math.floor(monthsDifference / 12);

      // Display the result
      const resultElement = document.getElementById("result");
      resultElement.innerHTML = `The difference is ${yearsDifference} years, ${monthsDifference} months, and ${daysDifference} days.`;
    }
  </script>
</body>
</html>

في هذا المثال، أنشأنا نموذج بسيط يحتوي على حقلي نص. يمكنك استبدال قيمة الحقل الأول والثاني بالتواريخ التي ترغب في طرحها. عند النقر على الزر "Subtract Dates"، ستتم العملية وستظهر النتيجة في الفقرة ذات الهوية "result".

يرجى ملاحظة أن الطريقة المستخدمة هنا تقوم بتقدير فارق الشهور والأيام باستخدام قيمة متوسط طول الشهر، ولا يعتبر هذا الحل دقيقًا للتواريخ الكبيسة أو التغييرات في طول الشهور. إذا كنت ترغب في حلاً أكثر دقة، يمكنك استخدام مكتبة خارجية مثل date-fns أو moment.js لإجراء الحسابات الدقيقة.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

يمكنك فعل ذلك في جافاسكريبت كالتالي :

function dateDiff(date1, date2) {
  // حساب فرق التاريخ بالأيام
  var diff = Math.abs(date1.getTime() - date2.getTime());
  var days = Math.ceil(diff / (1000 * 60 * 60 * 24));
  
  // حساب فرق التاريخ بالشهور
  var months = Math.ceil(days / 30);
  
  // حساب فرق التاريخ بالسنوات
  var years = Math.ceil(months / 12);

  // إذا كان عدد الأيام أكبر من 30، يتم عرض الفرق بالشهور والأيام
  if (days > 30) {
    // إذا كان عدد الشهور أكبر من 12، يتم عرض الفرق بالسنوات والشهور والأيام
    if (months > 12) {
      return years + " سنوات و " + (months % 12) + " شهور و " + (days % 30) + " أيام";
    } else {
      return months + " شهور و " + (days % 30) + " أيام";
    }
  } else {
    return days + " أيام";
  }
}

// تعريف التواريخ المستخدمة في حساب الفرق
var date1 = new Date("2023-07-24");
var date2 = new Date("2023-07-01");

// استخدام دالة dateDiff لحساب الفرق بين التواريخ
console.log(dateDiff(date1, date2));

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

الأسئلة الإختبارية لا يتم الإجابة عليها بشكل مباشر، وأنت تريد فعل ذلك من خلال لغة جافا، صحيح؟

سأوضح لك الخطوات باستخدام لغة جافا ومكتبة java.time.LocalDate، حيث سيتعين عليك استيراد المكتبة java.time.LocalDate وjava.time.format.DateTimeFormatter لتعامل مع التواريخ وتنسيقها.

ثم إنشاء الدالة الرئيسية (main) التي ستكون نقطة البدء لتنفيذ البرنامج.

بعد ذلك حدد التاريخ الثابت الذي ترغب في طرحه من التاريخ الآخر،  ويجب أن يكون التاريخ في شكل نصي "yyyy/M/d" ويمكن تخزينه في متغير نصي (String).

ثم باستخدام DateTimeFormatter، قم بتحويل النصوص إلى كائنات LocalDate.

الآن استخدم دوال minusYears و minusMonths و minusDays لطرح التاريخ الثابت من التاريخ الآخر.

وفي النهاية عرض النتيجة باستخدام System.out.println() بناءًا على نمط التنسيق المعين (مثلاً "yyyy/M/d").

وبذلك ستتمكن من طرح التاريخ الثابت (constantDate) من التاريخ الآخر (otherDate) وعرض النتيجة بتنسيق "yyyy/M/d" في الإخراج القياسي، وبالطبع يمكن تحسين الكود بإضافة التحقق من صحة التواريخ المدخلة والتعامل مع الاستثناءات المحتملة.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

سوف اقدم لك الاجابه باستخدام لغة جافاسكريبت
 

  1. أولاً، قم بتحديد التواريخ اللتين ترغب في طرح تاريخ A منها وقم بتخزينهما في متغيرين. هنا نفترض أن التاريخ A هو "2019/11/2" والتاريخ الثابت B هو "2023/7/24". سنقوم بتخزينهما في المتغيرات dateA و dateB.
  2. ثم، سنحول هذين التاريخين من النصوص إلى كائنات تاريخ في جافاسكريبت باستخدام الدالة new Date(). سنخزن التاريخ الناتج في متغيرين جديدين، dateAObj و dateBObj.
  3. الآن، سنقوم بحساب الفرق بين التاريخين بالأيام. للقيام بذلك، سنحسب الفرق بين التاريخين بالمللي ثانية باستخدام العملية dateBObj - dateAObj ومن ثم سنقسم النتيجة على عدد المللي ثانية في يوم واحد (1000 مللي ثانية × 60 ثانية × 60 دقيقة × 24 ساعة) للحصول على الفرق بالأيام. سنخزن هذا الفرق في المتغير dateDiffInDays.
  4. بعد ذلك، سنستخرج النتيجة بالسنوات والشهور والأيام من dateDiffInDays. للقيام بذلك، سنستخدم العمليات الحسابية للقسمة والباقي (modulo) للحصول على عدد السنوات والشهور والأيام. سنخزن هذه القيم في المتغيرات yearsDiff و monthsDiff و remainingDays على التوالي.
  5. أخيرًا، سنقوم بطباعة النتيجة باستخدام console.log().

وتفضل هذا الكود كامل يمكنك تجربته واذا واجهتك اي مشكله فلا تترد في طرحها 
 

// تاريخ A (في شكل نصي)
var dateA = "2019/11/2";

// تاريخ B (في شكل نصي)
var dateB = "2023/7/24";

// تحويل التواريخ من النص إلى كائن تاريخ في جافاسكريبت
var dateAObj = new Date(dateA);
var dateBObj = new Date(dateB);

// حساب الفرق بين التاريخين بالأيام
var dateDiffInMilliseconds = dateBObj - dateAObj;
var dateDiffInDays = dateDiffInMilliseconds / (1000 * 60 * 60 * 24);

// استخراج النتيجة بالأيام والشهور والأعوام
var yearsDiff = Math.floor(dateDiffInDays / 365);
var monthsDiff = Math.floor((dateDiffInDays % 365) / 30);
var remainingDays = Math.floor((dateDiffInDays % 365) % 30);

// عرض النتيجة
console.log("الفرق بين التاريخين هو " + yearsDiff + " سنة و " + monthsDiff + " شهر و " + remainingDays + " يوم");

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

في لغة بايثون يمكن القيام بذلك بسهولة عن طريق إنشاء غرض datetime خاص بكل تاريخ و القيام بطرحهما بشكل مباشر.

يمكنك كتابة ذلك كما يلي:

from datetime import datetime

d1 = datetime(year=2023, month=6, day=26)
d2 = datetime(year=2023, month=7, day=24)

d2 - d1

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

إذا كنت تريد استخدام مكتبات مساعدة أو يوجد العديد من العمليات الخاصة بالتواريخ يفضل استخدام  مكتبة Moment.js لإجراء عمليات تحويل التواريخ والتعامل معها بسهولة في JavaScript.

لطرح تاريخ من تاريخ آخر ثابت، يمكن استخدام دالة `diff()` لحساب فارق الوقت بين اليومين، ثم استخدام دالة `format()` لعرض الفارق بالصيغة المطلوبة (يوم، شهر، سنة):

// تحديد التاريخ الثابت
const fixedDate = moment('2019/11/2', 'YYYY/MM/DD');

// تحديد التاريخ الآخر
const otherDate = moment('2022/7/25', 'YYYY/MM/DD');

// حساب فارق الوقت بين اليومين
const diff = moment.duration(otherDate.diff(fixedDate));

// عرض الفارق بالصيغة المطلوبة (يوم، شهر، سنة)
console.log(`${diff.years()} years, ${diff.months()} months, ${diff.days()} days`);

لعرض التاريخ باليوم والشهر والعام، يمكن استخدام دالة `format()` وإدخال الصيغة المطلوبة، مثل:

// تحديد التاريخ
const date = moment('2022/7/25', 'YYYY/MM/DD');

// عرض التاريخ باليوم والشهر والعام
console.log(date.format('DD/MM/YYYY'));

ستظهر النتيجة بالصيغة "يوم/شهر/عام"، مثل "25/07/2022".

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 6 ساعة قال اشرف حسونه:

هو ايه الفرق بين الجافا اسكرببت والجافا netbeans 

وهل كود الجافا اسكرببت ينفع يكتب في الجافا نت بينز

جافا سكريبت (JavaScript) ، 

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

Java NetBeans:

هو بيئة تطوير متكاملة (IDE) مصممة لتطوير تطبيقات الجافا (Java) في العديد من المجالات مثل تطبيقات سطح المكتب وتطبيقات الويب وتطبيقات الموبايل وغيرها، يستخدم لبرمجة الجافا وليس الجافا سكريبت ، يقدم بيئة تطوير قوية تساعد المطورين في كتابة وترتيب الكود وتحليل الأخطاء وتصحيحها وتشغيل التطبيقات.

بالنسبة للسؤال الثاني، الكود المكتوب بلغة جافا سكريبت لا يمكن تشغيله مباشرة في بيئة جافا نت بينز، لأنهما لغتان برمجيتان مختلفتان بشكل كبير. إذا كنت ترغب في تطوير تطبيقات جافا، فإنك بحاجة إلى استخدام لغة البرمجة جافا وليس جافا سكريبت .

رابط هذا التعليق
شارك على الشبكات الإجتماعية

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...