کلاس Java LocalDate تغییرناپذیر است، به این معنی که پس از ایجاد یک نمونه، نمی توانید آن را تغییر دهید. 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 در کنسول چاپ می کنیم . خروجی چیزی شبیه به این خواهد بود:
خروجی
تاریخ امروز: 01-05-2023
LocalDate Constructors
علاوه بر متد 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
مقایسه LocalDates
LocalDate همچنین روش هایی را برای مقایسه تاریخ ها ارائه می دهد. میتوانید بررسی کنید که آیا دو نمونه LocalDate برابر هستند یا اینکه یکی قبل یا بعد از دیگری با استفاده از متدهای ()Equals ، ()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 ایجاد میکنیم و سپس از متدهای equals() , isBefore() و isAfter() برای مقایسه آنها استفاده میکنیم. خروجی به شکل بولی یعنی درست یا نادرست خواهد بود :
آیا تاریخ ها برابر است؟ false آیا 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" در خروجی نشان دهنده شروع مهر زمانی است.
GO TO FULL VERSION