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 الكامل بالعربي.