এক টেম্পোরাল ফিল্ড হলো ডেট-টাইমের একটি ফিল্ড, যেমন মাস-অফ-ইয়ার বা আওয়ার-অফ-মিনিট। এই ফিল্ডগুলো TemporalField ইন্টারফেস দিয়ে রিপ্রেজেন্ট করা হয় এবং ChronoField ক্লাস এই ইন্টারফেসটি ইমপ্লিমেন্ট করে।
ChronoField ক্লাসে উপস্থিত ডেট-সম্পর্কিত টেম্পোরাল ফিল্ডসমূহ
| ফিল্ড | বিবরণ |
|---|---|
| ALIGNED_DAY_OF_WEEK_IN_MONTH | এক মাসের মধ্যে সপ্তাহের দিন। |
| ALIGNED_DAY_OF_WEEK_IN_YEAR | এক বছরের মধ্যে সাংগতিক সপ্তাহের দিন। |
| ALIGNED_WEEK_OF_MONTH | এক মাসের সাংগতিক সপ্তাহ। |
| ALIGNED_WEEK_OF_YEAR | এক বছরের সাংগতিক সপ্তাহ। |
| DAY_OF_MONTH | এক মাসের দিন। |
| DAY_OF_WEEK | এক সপ্তাহের দিন। |
| DAY_OF_YEAR | এক বছরের দিন। |
| EPOCH_DAY | ইপক দিন। |
| ERA | ইয়ারের যুগ (ERA)। |
| YEAR | বছর। |
| YEAR_OF_ERA | যুগের বছর। |
LocalDate এবং LocalDateTime ক্লাসের get() বা getLong() মেথড টেম্পোরাল ফিল্ড প্যারামিটার হিসেবে নেয় এবং বর্তমান অবজেক্ট থেকে সেই ফিল্ডের মান রিটার্ন করে।
উদাহরণ: LocalDate দিয়ে টেম্পোরাল ফিল্ড পাওয়া
import java.time.LocalDate;
import java.time.temporal.ChronoField;
public class Demo {
public static void main(String args[]) {
LocalDate lDate = LocalDate.now();
int field = lDate.get(ChronoField.DAY_OF_MONTH);
System.out.println("মাসের দিন: " + field);
field = lDate.get(ChronoField.DAY_OF_WEEK);
System.out.println("সপ্তাহের দিন: " + field);
field = lDate.get(ChronoField.DAY_OF_YEAR);
System.out.println("বছরের দিন: " + field);
long epoch = lDate.getLong(ChronoField.EPOCH_DAY);
System.out.println("ইপক দিন: " + epoch);
field = lDate.get(ChronoField.ALIGNED_DAY_OF_WEEK_IN_MONTH);
System.out.println("মাসে সপ্তাহ: " + field);
field = lDate.get(ChronoField.ALIGNED_DAY_OF_WEEK_IN_YEAR);
System.out.println("বছরে সপ্তাহের দিন: " + field);
field = lDate.get(ChronoField.ERA);
System.out.println("যুগ: " + field);
}
}
আউটপুট
মাসের দিন: 11
সপ্তাহের দিন: 3
বছরের দিন: 316
ইপক দিন: 18577
মাসে সপ্তাহ: 4
বছরে সপ্তাহের দিন: 1
যুগ: 1
উদাহরণ: Year, Month, DayOfWeek দিয়ে ফিল্ড পাওয়া
import java.time.DayOfWeek;
import java.time.LocalTime;
import java.time.Month;
import java.time.Year;
import java.time.temporal.ChronoField;
public class Demo {
public static void main(String args[]) {
LocalTime lTime = LocalTime.now();
System.out.println(lTime);
int field = Year.of(2019).get(ChronoField.YEAR);
System.out.println("বছর: " + field);
field = Month.of(8).get(ChronoField.MONTH_OF_YEAR);
System.out.println("মাস: " + field);
field = DayOfWeek.of(3).get(ChronoField.DAY_OF_WEEK);
System.out.println("সপ্তাহের দিন: " + field);
}
}
আউটপুট
20:01:43.171
বছর: 2019
মাস: 8
সপ্তাহের দিন: 3