TemporalAdjusters ক্লাসটি java.time.temporal প্যাকেজের একটি অংশ এবং এটি তারিখ এবং সময়ের মানের উপর বিভিন্ন অ্যাডজাস্টমেন্ট (adjustment) করার জন্য ব্যবহৃত হয়। এটি সাধারণত LocalDate, LocalTime, LocalDateTime, এবং ZonedDateTime এর সাথে ব্যবহার করা হয়।
TemporalAdjusters দিয়ে আপনি বিভিন্ন ধরনের দিন বা মাসের সঠিক তারিখ, পরবর্তী বা একই দিনের সন্ধান, এবং একটি নির্দিষ্ট দিন/মাস/বছরের প্রথম বা শেষ দিন ইত্যাদি বের করতে পারবেন।
TemporalAdjusters এর কিছু সাধারণ ব্যবহার:
firstDayOfNextMonth(): পরবর্তী মাসের প্রথম দিন নির্ধারণ।nextOrSame(DayOfWeek dayOfWeek): পরবর্তী বা বর্তমান নির্দিষ্ট দিনের তারিখ পাওয়া।firstDayOfYear(): বছরের প্রথম দিন নির্ধারণ।lastDayOfMonth(): মাসের শেষ দিন নির্ধারণ।next(DayOfWeek dayOfWeek): পরবর্তী নির্দিষ্ট দিনের তারিখ পাওয়া।
এখন চলুন, কিছু উদাহরণ দেখে নেওয়া যাক, যেখানে TemporalAdjusters ব্যবহার করা হচ্ছে।
উদাহরণ 1: firstDayOfNextMonth() - পরবর্তী মাসের প্রথম দিন নির্ধারণ
import java.time.*;
import java.time.temporal.TemporalAdjusters;
public class TemporalAdjustersExample {
public static void main(String[] args) {
// বর্তমান তারিখ নিন
LocalDate currentDate = LocalDate.now();
System.out.println("Current Date: " + currentDate);
// পরবর্তী মাসের প্রথম দিন নির্ধারণ
LocalDate firstDayOfNextMonth = currentDate.with(TemporalAdjusters.firstDayOfNextMonth());
System.out.println("First Day of Next Month: " + firstDayOfNextMonth);
}
}
আউটপুট:
Current Date: 2024-12-23
First Day of Next Month: 2025-01-01
ব্যাখ্যা:
TemporalAdjusters.firstDayOfNextMonth()ব্যবহার করে, আমরা বর্তমান তারিখ থেকে পরবর্তী মাসের প্রথম দিন বের করেছি।
উদাহরণ 2: nextOrSame(DayOfWeek dayOfWeek) - পরবর্তী বা একই দিনের তারিখ নির্ধারণ
import java.time.*;
import java.time.temporal.TemporalAdjusters;
public class TemporalAdjustersExample {
public static void main(String[] args) {
// বর্তমান তারিখ নিন
LocalDate currentDate = LocalDate.now();
System.out.println("Current Date: " + currentDate);
// পরবর্তী বা বর্তমান শুক্রবারের তারিখ বের করুন
LocalDate nextFriday = currentDate.with(TemporalAdjusters.nextOrSame(DayOfWeek.FRIDAY));
System.out.println("Next or Same Friday: " + nextFriday);
}
}
আউটপুট:
Current Date: 2024-12-23
Next or Same Friday: 2024-12-27
ব্যাখ্যা:
TemporalAdjusters.nextOrSame(DayOfWeek.FRIDAY)ব্যবহার করে, আমরা পরবর্তী বা বর্তমান শুক্রবারের তারিখ বের করেছি।
উদাহরণ 3: firstDayOfYear() - বছরের প্রথম দিন নির্ধারণ
import java.time.*;
import java.time.temporal.TemporalAdjusters;
public class TemporalAdjustersExample {
public static void main(String[] args) {
// বর্তমান তারিখ নিন
LocalDate currentDate = LocalDate.now();
System.out.println("Current Date: " + currentDate);
// বছরের প্রথম দিন নির্ধারণ
LocalDate firstDayOfYear = currentDate.with(TemporalAdjusters.firstDayOfYear());
System.out.println("First Day of Year: " + firstDayOfYear);
}
}
আউটপুট:
Current Date: 2024-12-23
First Day of Year: 2024-01-01
ব্যাখ্যা:
TemporalAdjusters.firstDayOfYear()ব্যবহার করে, আমরা বছরের প্রথম দিন বের করেছি।
উদাহরণ 4: lastDayOfMonth() - মাসের শেষ দিন নির্ধারণ
import java.time.*;
import java.time.temporal.TemporalAdjusters;
public class TemporalAdjustersExample {
public static void main(String[] args) {
// বর্তমান তারিখ নিন
LocalDate currentDate = LocalDate.now();
System.out.println("Current Date: " + currentDate);
// মাসের শেষ দিন নির্ধারণ
LocalDate lastDayOfMonth = currentDate.with(TemporalAdjusters.lastDayOfMonth());
System.out.println("Last Day of Month: " + lastDayOfMonth);
}
}
আউটপুট:
Current Date: 2024-12-23
Last Day of Month: 2024-12-31
ব্যাখ্যা:
TemporalAdjusters.lastDayOfMonth()ব্যবহার করে, আমরা মাসের শেষ দিন বের করেছি।
উদাহরণ 5: next(DayOfWeek dayOfWeek) - পরবর্তী নির্দিষ্ট দিনের তারিখ নির্ধারণ
import java.time.*;
import java.time.temporal.TemporalAdjusters;
public class TemporalAdjustersExample {
public static void main(String[] args) {
// বর্তমান তারিখ নিন
LocalDate currentDate = LocalDate.now();
System.out.println("Current Date: " + currentDate);
// পরবর্তী সোমবারের তারিখ বের করুন
LocalDate nextMonday = currentDate.with(TemporalAdjusters.next(DayOfWeek.MONDAY));
System.out.println("Next Monday: " + nextMonday);
}
}
আউটপুট:
Current Date: 2024-12-23
Next Monday: 2024-12-30
ব্যাখ্যা:
TemporalAdjusters.next(DayOfWeek.MONDAY)ব্যবহার করে, আমরা পরবর্তী সোমবারের তারিখ বের করেছি।
TemporalAdjusters ক্লাসটি তারিখ এবং সময়ের উপরে বিভিন্ন ধরনের অ্যাডজাস্টমেন্ট করতে অত্যন্ত সহায়ক। এটি দিয়ে আপনি পরবর্তী মাসের প্রথম দিন, মাসের শেষ দিন, পরবর্তী দিন, নির্দিষ্ট সপ্তাহের দিন এবং বছরের প্রথম দিন ইত্যাদি সহজেই বের করতে পারবেন।
এগুলি LocalDate, LocalDateTime, এবং ZonedDateTime এর মতো টাইম অবজেক্টে প্রয়োগ করা যায় এবং কোডের কার্যকারিতা এবং ফ্লেক্সিবিলিটি বৃদ্ধি করে।
Read more