لحل مشكلة حساب العمر من تاريخ ما ، يمكننا استخدام فئات Java المضمنة مثل LocalDate و Period. هذه الفئات هي جزء من Java Time API المقدمة في Java 8 ، والتي تم تصميمها لتبسيط حسابات التاريخ والوقت.
import java.time.LocalDate;
import java.time.Period;
public class AgeCalculator {
public static void main(String[] args) {
LocalDate birthDate = LocalDate.of(1990, 1, 1);
LocalDate currentDate = LocalDate.now();
int age = calculateAge(birthDate, currentDate);
System.out.println("Age: " + age);
}
public static int calculateAge(LocalDate birthDate, LocalDate currentDate) {
Period period = Period.between(birthDate, currentDate);
return period.getYears();
}
}
دعنا نقسم الكود خطوة بخطوة. أولاً ، نقوم باستيراد الفئات الضرورية والتاريخ المحلي والفترة. نقوم بعد ذلك بإنشاء فئة تسمى AgeCalculator بطريقة رئيسية تقوم بتهيئة تاريخ الميلاد والتاريخ الحالي باستخدام فئة LocalDate. يتم استدعاء طريقة "calculateAge" بعد ذلك باستخدام تواريخ الميلاد والحالية المتوفرة كوسيطات.
داخل طريقة "calculateAge" ، نستخدم طريقة "Period.between ()" ، التي تحسب الفترة بين تاريخين. أخيرًا ، نعيد الفرق بالسنوات عن طريق استدعاء طريقة `` getYears () `في الفترة المحسوبة.
جافا وقت API
استخدم جافا وقت APIتُعرف أيضًا باسم Java Date and Time API ، وهي مكتبة قوية تم تقديمها في Java 8 للتعامل مع المهام المتعلقة بالتاريخ والوقت. تم تصميمه ليكون أكثر سهولة وقوة وسهولة في الاستخدام من سابقيه ، java.util.Date وفصول التقويم ، والتي كانت بها العديد من المشكلات والقيود.
تتضمن بعض الميزات الرئيسية لـ Java Time API ما يلي:
- فصول غير قابلة للتغيير وخيط آمن.
- فصل واضح بين تمثيل التاريخ والوقت الذي يمكن قراءته بواسطة الإنسان وتمثيل وقت الآلة.
- واجهة برمجة تطبيقات مرنة وقابلة للتمديد لدعم التقويمات المختلفة وأنظمة ضبط الوقت.
- دعم مدمج للمناطق الزمنية والتوقيت الصيفي.
استخدام فترة و LocalDate
استخدم فترة يمثل class في Java فترة زمنية يتم التعبير عنها بالسنوات والشهور والأيام. إنها فئة مفيدة لحساب الفرق بين تاريخين ، كما هو موضح في مثال حساب العمر.
استخدم التاريخ المحلي الطبقة ، من ناحية أخرى ، تمثل تاريخًا بدون معلومات الوقت والمنطقة الزمنية. من المفيد تمثيل تواريخ الميلاد أو تواريخ الأحداث أو أي تاريخ آخر لا تكون فيه معلومات الوقت ضرورية.
في مثال حساب العمر ، استخدمنا طريقة "Period.between ()" لحساب الفرق بين مثيلي LocalDate - تاريخ الميلاد والتاريخ الحالي. يوفر لنا كائن الفترة الناتج الفرق في السنوات والشهور والأيام بين التاريخين ، مما يجعل من السهل حساب عمر الشخص.
في الختام ، يمكن حساب العمر من تاريخ ما بسهولة باستخدام الفئات المضمنة في Java مثل LocalDate و Period. توفر هذه الفئات ، جنبًا إلى جنب مع Java Time API الأوسع نطاقًا ، حلاً قويًا ومرنًا للتعامل مع حسابات التاريخ والوقت في تطبيقات Java الخاصة بك.