رابط Date-Time چهار کلاس دارد که بهطور اختصاصی با اطلاعات تاریخ سروکار دارند و به زمان یا منطقهی زمانی توجهی ندارند. نام این کلاسها نشاندهندهی کاربردشان است: LocalDate، YearMonth، MonthDay و Year.
LocalDate یک تاریخ سال-ماه-روز در تقویم ISO را نمایش میدهد و برای نمایش تاریخ بدون زمان مفید است. مثلاً میتوانید از LocalDate برای ثبت یک رویداد مهم مانند تاریخ تولد یا ازدواج استفاده کنید. مثالهای زیر از متدهای of و with برای ایجاد نمونههای LocalDate استفاده میکنند:
LocalDate date = LocalDate.of(2000, Month.NOVEMBER, 20);
LocalDate nextWed = date.with(TemporalAdjusters.next(DayOfWeek.WEDNESDAY));
برای اطلاعات بیشتر دربارهی رابط TemporalAdjuster، بخش Temporal Adjuster را ببینید.
علاوه بر متدهای معمول، کلاس LocalDate متدهای Getter برای دریافت اطلاعات دربارهی یک تاریخ مشخص دارد. متد getDayOfWeek() روز هفتهی یک تاریخ خاص را برمیگرداند. مثال زیر مقدار «MONDAY» را برمیگرداند:
DayOfWeek dotw = LocalDate.of(2012, Month.JULY, 9).getDayOfWeek();
مثال زیر از یک TemporalAdjuster برای بازیابی اولین چهارشنبه پس از یک تاریخ مشخص استفاده میکند:
LocalDate date = LocalDate.of(2000, Month.NOVEMBER, 20);
TemporalAdjuster adj = TemporalAdjusters.next(DayOfWeek.WEDNESDAY);
LocalDate nextWed = date.with(adj);
System.out.printf("For the date of %s, the next Wednesday is %s.%n",
date, nextWed);
خروجی کد فوق به صورت زیر است:
For the date of 2000-11-20, the next Wednesday is 2000-11-22.
بخش Period و Duration نیز شامل مثالهایی با کلاس LocalDate است.
کلاس YearMonth ماه یک سال مشخص را نمایش میدهد. مثال زیر از متد lengthOfMonth() برای تعیین تعداد روزهای چند ترکیب سال و ماه استفاده میکند:
YearMonth date = YearMonth.now();
System.out.printf("%s: %d%n", date, date.lengthOfMonth());
YearMonth date2 = YearMonth.of(2010, Month.FEBRUARY);
System.out.printf("%s: %d%n", date2, date2.lengthOfMonth());
YearMonth date3 = YearMonth.of(2012, Month.FEBRUARY);
System.out.printf("%s: %d%n", date3, date3.lengthOfMonth());
خروجی کد فوق به صورت زیر است:
2013-06: 30
2010-02: 28
2012-02: 29
کلاس MonthDay روز یک ماه مشخص را نمایش میدهد، مانند روز اول ژانویه بهعنوان روز سال نو.
مثال زیر از متد isValidYear() برای تعیین اعتبار ۲۹ فوریه در سال ۲۰۱۰ استفاده میکند. متد false برمیگرداند که تأیید میکند ۲۰۱۰ سال کبیسه نیست.
MonthDay date = MonthDay.of(Month.FEBRUARY, 29);
boolean validLeapYear = date.isValidYear(2010);
کلاس Year یک سال را نمایش میدهد. مثال زیر از متد isLeap() برای تعیین کبیسه بودن سال استفاده میکند. متد true برمیگرداند که تأیید میکند ۲۰۱۲ سال کبیسه است.
boolean validLeapYear = Year.of(2012).isLeap();
این محتوا کاملا رایگان توسط تیم کدلپر ترجمه شده و در اختیار شما کاربران عزیز قرار گرفته است، هر گونه کپی برداری برای مقاصد غیر رایگان و بدون ذکر منبع، مورد پیگیری قانونی قرار میگیرد.
ترجمه شده از منبع: https://dev.java/learn/