CodeGym /مدونة جافا /Random-AR /فئة جافا LocalDate
John Squirrels
مستوى
San Francisco

فئة جافا LocalDate

نشرت في المجموعة
فئة Java LocalDate غير قابلة للتغيير، مما يعني أنه بمجرد إنشاء مثيل، لا يمكنك تعديله. يوفر LocalDate العديد من الطرق المفيدة لمعالجة التواريخ والاستعلام عنها، مثل إضافة أو طرح أيام أو أشهر أو سنوات، أو الحصول على يوم من أيام الأسبوع، أو التحقق مما إذا كان التاريخ قبل أو بعد تاريخ آخر.

مثال التاريخ المحلي

لنبدأ بمثال بسيط يقوم بإنشاء مثيل LocalDate للتاريخ الحالي وطباعته على وحدة التحكم:

import java.time.LocalDate;

public class LocalDateExample {
    public static void main(String[] args) {
        LocalDate today = LocalDate.now();
        System.out.println("Today's date: " + today);
    }
}
في هذا المثال، نقوم باستيراد فئة LocalDate من الحزمة java.time وإنشاء نسخة جديدة من LocalDate تسمى اليوم باستخدام طريقة static now() . تقوم هذه الطريقة بإرجاع كائن LocalDate الذي يمثل التاريخ الحالي بناءً على ساعة النظام في المنطقة الزمنية الافتراضية. نقوم بعد ذلك بطباعة التاريخ الحالي إلى وحدة التحكم باستخدام طريقة println() ‎ للكائن System.out . سيبدو الإخراج كما يلي:

انتاج |

تاريخ اليوم: 2023-05-01

منشئو التاريخ المحلي

إلى جانب الأسلوب now() ، يوفر LocalDate العديد من المُنشئات الأخرى التي تسمح لك بإنشاء مثيلات LocalDate من مصادر مختلفة. على سبيل المثال، يمكنك إنشاء LocalDate من سنة وشهر ويوم محدد:

import java.time.LocalDate;

public class LocalDateConstructorExample {
    public static void main(String[] args) {
        LocalDate date1 = LocalDate.of(2023, 5, 1);

        System.out.println("Date 1: " + date1);
    }
}
يقوم هذا الرمز بإنشاء مثيل LocalDate جديد يسمى date1 بالعام 2023 والشهر مايو (ممثلًا بالقيمة 5) واليوم 1. سيكون الإخراج:

انتاج |

التاريخ 1:2023-05-01

التلاعب بالتاريخ المحلي

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

import java.time.LocalDate;

public class LocalDateManipulationExample {
    public static void main(String[] args) {

        LocalDate date3 = LocalDate.parse("2023-05-01");
        LocalDate date4 = date3.plusDays(1);
        LocalDate date5 = date3.minusMonths(1);
        LocalDate date6 = date3.plusYears(1);

        System.out.println("Date 3: " + date3);
        System.out.println("Date 4: " + date4);
        System.out.println("Date 5: " + date5);
        System.out.println("Date 6: " + date6);
   }
}
في هذا المثال، نقوم أولاً بإنشاء مثيل LocalDate جديد يسمى date3 عن طريق تحليل السلسلة "2023-05-01". نقوم بعد ذلك بإنشاء ثلاث مثيلات LocalDate جديدة تسمى date4 و date5 و date6 عن طريق إضافة أو طرح أيام أو أشهر أو سنوات من date3 . سيكون الإخراج:
التاريخ 3:2023-05-01 التاريخ 4:2023-05-02 التاريخ 5:2023-04-01 التاريخ 6:2024-05-01

مقارنة التواريخ المحلية

يوفر LocalDate أيضًا طرقًا لمقارنة التواريخ. يمكنك التحقق مما إذا كان مثيلا LocalDate متساويين، أو إذا كان أحدهما قبل الآخر أو بعده باستخدام التوابع يساوي() و isBefore() و isAfter() :

import java.time.LocalDate;

public class LocalDateCompareExample {
    public static void main(String[] args) {
        LocalDate date1 = LocalDate.parse("2023-05-01");
        LocalDate date2 = LocalDate.parse("2023-05-02");

        System.out.println("Are the dates equal? " + date1.equals(date2));
        System.out.println("Is date1 before date2? " + date1.isBefore(date2));
        System.out.println("Is date2 after date1? " + date2.isAfter(date1));
    }
}
في هذا المثال، قمنا بإنشاء مثيلين لـ LocalDate يسمى date1 و date2 ، ثم استخدمنا الأساليب equal() و isBefore() و isAfter() للمقارنة بينهما. سيكون الإخراج في شكل منطقي، أي صحيح أو خطأ :
هل التواريخ متساوية؟ خطأ هل date1 قبل date2؟ صحيح هل date2 بعد date1؟ حقيقي

LocalDateTime

إذا كنت بحاجة إلى تمثيل التاريخ والوقت، فيمكنك استخدام فئة LocalDateTime ، التي تشبه LocalDate ولكنها تتضمن مكونًا للوقت. يوفر LocalDateTime طرقًا لمعالجة أجزاء التاريخ والوقت والاستعلام عنها. فيما يلي مثال لإنشاء مثيل LocalDateTime :

import java.time.LocalDateTime;

public class LocalDateTimeExample {
    public static void main(String[] args) {
        LocalDateTime datetime = LocalDateTime.now();
        System.out.println("Current date and time: " + datetime);
    }
}
يستورد هذا الرمز فئة LocalDateTime ويقوم بإنشاء مثيل جديد يسمى datetime باستخدام الأسلوب now() . سيبدو الإخراج كما يلي:
التاريخ والوقت الحالي: 2023-05-01T15:30:00.123456789
ملاحظة: يشير الحرف "T" الموجود في الإخراج إلى بداية الطابع الزمني.

خاتمة

تعد فئة Java LocalDate مفيدة للتعامل مع التواريخ في Java. فهو يوفر العديد من الطرق لمعالجة التواريخ والاستعلام عنها، مما يجعل من السهل إضافة أو طرح أيام أو أشهر أو سنوات، والتحقق مما إذا كان التاريخ قبل أو بعد تاريخ آخر، والمزيد. إذا كنت بحاجة إلى العمل مع التواريخ والأوقات معًا، فيمكنك استخدام فئة LocalDateTime بدلاً من ذلك. لا تتردد في تجربة هذا الفصل ومشاركة نتائجك معنا! ارجع إلى هذا المنشور عندما تشعر بأنك عالق. ترميز سعيد!
تعليقات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION