تخطَّ إلى المحتوى

LocalDate / LocalDateTime

التواريخ والأوقات الحديثة LocalDate / LocalDateTime

LocalDate و LocalDateTime و LocalTime واجهات التاريخ والأوقات الحديثة بديل Date و Calendar القديمة.

منذ Java 8، واجهات java.time أبسط وأأمن من Date و Calendar القديمة. LocalDate للتاريخ فقط، LocalTime للوقت فقط، LocalDateTime لكليهما. كلها immutable (غير قابلة للتعديل).

الصياغة

LocalDate date = LocalDate.now();
LocalDate date2 = LocalDate.of(2025, 12, 25);
LocalDateTime dt = LocalDateTime.now();
dt.plusDays(7);
dt.format(DateTimeFormatter.ofPattern("dd/MM/yyyy"));

📄 مثال

import java.time.*;
import java.time.format.DateTimeFormatter;

LocalDate today = LocalDate.now();
LocalDate birthday = LocalDate.of(2000, 6, 15);

Period age = Period.between(birthday, today);
System.out.println("العمر: " + age.getYears() + " سنة");

LocalDateTime now = LocalDateTime.now();
LocalDateTime nextWeek = now.plusWeeks(1);

DateTimeFormatter fmt = DateTimeFormatter.ofPattern("dd-MM-yyyy HH:mm");
System.out.println(now.format(fmt)); // "20-07-2026 14:30"

أهم النقاط

العنصرالوظيفة
LocalDate.now()التاريخ الحالي
LocalDate.of(y, m, d)تاريخ محدد
plusDays/Weeks/Months/Yearsإضافة مدة
Period.between(start, end)الفرق بين تاريخين
format(DateTimeFormatter)تنسيق النص
parse(String, formatter)تحويل نص لتاريخ

💡 نصائح عملية

  • استخدم LocalDateTime للتواريخ والأوقات، LocalDate للتاريخ فقط، LocalTime للوقت فقط
  • DateTimeFormatter أبسط وأأمن من SimpleDateFormat القديمة

⚠️ أخطاء شائعة

  • nxing Date و Calendar القديمة — استخدم java.time دائمًا
  • nxing == لمقارنة تواريخ — استخدم equals() أو compareTo()

خصائص ذات صلة

🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار JAVA الكامل بالعربي.