কম্পিউটার টিউটোরিয়াল

জাভাতে ডেট টেম্পোরাল ফিল্ড কী?

এক টেম্পোরাল ফিল্ড হলো ডেট-টাইমের একটি ফিল্ড, যেমন মাস-অফ-ইয়ার বা আওয়ার-অফ-মিনিট। এই ফিল্ডগুলো 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
  1. জাভা ৯-এ CompletableFuture API-এর উন্নতি

  2. জাভা ৯-এ try-with-resources-এর উন্নতি

  3. জাভাতে ক্লাস/স্ট্যাটিক মেথড কী?

  4. জাভাতে unreachable catch blocks কী?