رابط Date-Time Enum هایی برای مشخص کردن روزهای هفته و ماههای سال ارائه میدهد.
Enum DayOfWeek از هفت ثابت تشکیل شده که روزهای هفته را توصیف میکنند: MONDAY تا SUNDAY. مقادیر عددی ثابتهای DayOfWeek از ۱ (دوشنبه) تا ۷ (یکشنبه) است. استفاده از ثابتهای تعریفشده (مانند DayOfWeek.FRIDAY) کد شما را خواناتر میکند.
این Enum همچنین متدهایی مشابه متدهای ارائهشده توسط کلاسهای مبتنی بر Temporal دارد. بهعنوان مثال کد زیر ۳ روز به Monday اضافه کرده و نتیجه را چاپ میکند. خروجی THURSDAY است:
System.out.printf("%s%n", DayOfWeek.MONDAY.plus(3));
با استفاده از متد getDisplayName(TextStyle, Locale) میتوانید رشتهای برای شناسایی روز هفته به Locale کاربر دریافت کنید. Enum TextStyle امکان انتخاب نوع رشتهی نمایشی را فراهم میکند: FULL، NARROW (معمولاً یک حرف) یا SHORT (مخفف). ثابتهای STANDALONE TextStyle در برخی زبانها استفاده میشوند که خروجی هنگام استفاده در ترکیب با تاریخ با استفادهی مستقل متفاوت است. مثال زیر سه فرم اصلی TextStyle برای Monday را چاپ میکند:
DayOfWeek dow = DayOfWeek.MONDAY;
Locale locale = Locale.getDefault();
IO.println(dow.getDisplayName(TextStyle.FULL, locale));
IO.println(dow.getDisplayName(TextStyle.NARROW, locale));
IO.println(dow.getDisplayName(TextStyle.SHORT, locale));
خروجی این کد برای Locale en به صورت زیر است:
Monday
M
Mon
Enum Month شامل ثابتهایی برای دوازده ماه، از JANUARY تا DECEMBER است. مانند Enum DayOfWeek، Enum Month Strongly Typed است و مقدار عددی هر ثابت با بازهی ISO از ۱ (ژانویه) تا ۱۲ (دسامبر) مطابقت دارد. استفاده از ثابتهای تعریفشده (مانند Month.SEPTEMBER) کد شما را خواناتر میکند.
Enum Month همچنین متدهای متعددی دارد. خط کد زیر از متد maxLength() برای چاپ حداکثر تعداد روزهای ممکن در ماه فوریه استفاده میکند. خروجی «29» است:
System.out.printf("%d%n", Month.FEBRUARY.maxLength());
Enum Month همچنین متد getDisplayName(TextStyle, Locale) را پیادهسازی میکند تا رشتهای برای شناسایی ماه در Locale کاربر با TextStyle مشخصشده برگرداند. اگر TextStyle خاصی تعریف نشده باشد، رشتهای نمایانگر مقدار عددی ثابت برمیگردد. کد زیر ماه آگوست را با سه TextStyle اصلی چاپ میکند:
Month month = Month.AUGUST;
Locale locale = Locale.getDefault();
IO.println(month.getDisplayName(TextStyle.FULL, locale));
IO.println(month.getDisplayName(TextStyle.NARROW, locale));
IO.println(month.getDisplayName(TextStyle.SHORT, locale));
خروجی این کد برای Locale en به صورت زیر است:
August
A
Aug
این محتوا کاملا رایگان توسط تیم کدلپر ترجمه شده و در اختیار شما کاربران عزیز قرار گرفته است، هر گونه کپی برداری برای مقاصد غیر رایگان و بدون ذکر منبع، مورد پیگیری قانونی قرار میگیرد.
ترجمه شده از منبع: https://dev.java/learn/