کلاس LocalTime مشابه سایر کلاسهایی است که نامشان با پیشوند Local شروع میشود، اما فقط با زمان سروکار دارد. این کلاس برای نمایش زمان مبتنی بر انسان مفید است، مانند ساعت نمایش فیلم یا ساعت باز و بسته شدن کتابخانه. همچنین میتوان از آن برای ساخت یک ساعت دیجیتال استفاده کرد، همانطور که در مثال زیر نشان داده شده است:
LocalTime thisSec;
for (;;) {
thisSec = LocalTime.now();
// پیادهسازی کد نمایش بر عهدهی خواننده است
display(thisSec.getHour(), thisSec.getMinute(), thisSec.getSecond());
}
کلاس LocalTime اطلاعات منطقهی زمانی یا ساعت تابستانی را ذخیره نمیکند.
کلاسی که هم تاریخ و هم زمان را بدون منطقهی زمانی مدیریت میکند، LocalDateTime است — یکی از کلاسهای اصلی Date-Time API. این کلاس برای نمایش تاریخ (ماه-روز-سال) همراه با زمان (ساعت-دقیقه-ثانیه-نانوثانیه) استفاده میشود و در واقع ترکیبی از LocalDate با LocalTime است. این کلاس میتواند یک رویداد مشخص را نمایش دهد، مانند مسابقهی اول فینال Louis Vuitton Cup در مسابقات Challenger سری America's Cup که در ۱۷ آگوست ۲۰۱۳ ساعت ۱۳:۱۰ به وقت محلی آغاز شد. توجه کنید که این یعنی ساعت ۱۳:۱۰ به وقت محلی. برای درج منطقهی زمانی باید از ZonedDateTime یا OffsetDateTime استفاده کنید که در بخش کلاسهای منطقهی زمانی و Offset مورد بحث قرار گرفته است.
علاوه بر متد now() که هر کلاس مبتنی بر Temporal دارد، کلاس LocalDateTime متدهای of() متعددی (یا متدهایی با پیشوند of) دارد که نمونهای از LocalDateTime ایجاد میکنند. متد from() نمونهای را از قالب Temporal دیگر به نمونهی LocalDateTime تبدیل میکند. متدهایی برای اضافه یا کم کردن ساعت، دقیقه، روز، هفته و ماه نیز وجود دارد. مثال زیر برخی از این متدها را نشان میدهد:
System.out.printf("now: %s%n", LocalDateTime.now());
System.out.printf("Apr 15, 1994 @ 11:30am: %s%n",
LocalDateTime.of(1994, Month.APRIL, 15, 11, 30));
System.out.printf("now (from Instant): %s%n",
LocalDateTime.ofInstant(Instant.now(), ZoneId.systemDefault()));
System.out.printf("6 months from now: %s%n",
LocalDateTime.now().plusMonths(6));
System.out.printf("6 months ago: %s%n",
LocalDateTime.now().minusMonths(6));
خروجی این کد به صورت زیر است:
now: 2013-07-24T17:13:59.985
Apr 15, 1994 @ 11:30am: 1994-04-15T11:30
now (from Instant): 2013-07-24T17:14:00.479
6 months from now: 2014-01-24T17:14:00.480
6 months ago: 2013-01-24T17:14:00.481
این محتوا کاملا رایگان توسط تیم کدلپر ترجمه شده و در اختیار شما کاربران عزیز قرار گرفته است، هر گونه کپی برداری برای مقاصد غیر رایگان و بدون ذکر منبع، مورد پیگیری قانونی قرار میگیرد.
ترجمه شده از منبع: https://dev.java/learn/