TemporalAdjusters হল java.time প্যাকেজের একটি ক্লাস যা Temporal অবজেক্টের মান পরিবর্তন (adjustment) করার জন্য বিভিন্ন প্রস্তুত-করানো মেথড প্রদান করে। এটি মূলত LocalDate, LocalDateTime, এবং ZonedDateTime এর মতো টাইম অবজেক্টগুলির তারিখ এবং সময় ম্যানিপুলেশন করতে ব্যবহৃত হয়।
TemporalAdjusters Class এর মূল বৈশিষ্ট্য:
TemporalAdjustersএর মেথডগুলি একটিTemporalঅবজেক্টকে তারিখ এবং সময়ের উপর নির্দিষ্ট পরিবর্তন করতে সহায়তা করে, যেমন প্রথম বা শেষ সপ্তাহের দিন, মাসের শেষ দিন, পরবর্তী সোমবার ইত্যাদি।TemporalAdjustersসাধারনতwith()মেথডের মাধ্যমে একটিTemporalঅবজেক্টে প্রয়োগ করা হয়।
কিছু জনপ্রিয় TemporalAdjusters মেথড:
firstDayOfMonth(): মাসের প্রথম দিনটি নির্ধারণ করে।lastDayOfMonth(): মাসের শেষ দিনটি নির্ধারণ করে।firstDayOfYear(): বছরের প্রথম দিনটি নির্ধারণ করে।lastDayOfYear(): বছরের শেষ দিনটি নির্ধারণ করে।next(DayOfWeek dayOfWeek): একটি নির্দিষ্ট সপ্তাহের দিনের পরবর্তী দিন নির্ধারণ করে।previous(DayOfWeek dayOfWeek): একটি নির্দিষ্ট সপ্তাহের দিনের পূর্ববর্তী দিন নির্ধারণ করে।nextOrSame(DayOfWeek dayOfWeek): একটি নির্দিষ্ট সপ্তাহের দিনের পরবর্তী দিন অথবা ঐ দিনের নিজস্ব দিন নির্ধারণ করে।
TemporalAdjusters এর উদাহরণ:
1. প্রথম দিন এবং শেষ দিন নির্ধারণ:
import java.time.*;
import java.time.temporal.*;
public class TemporalAdjustersExample {
public static void main(String[] args) {
// Get the current date
LocalDate currentDate = LocalDate.now();
System.out.println("Current Date: " + currentDate);
// Get the first day of the current month
LocalDate firstDayOfMonth = currentDate.with(TemporalAdjusters.firstDayOfMonth());
System.out.println("First Day of Month: " + firstDayOfMonth);
// Get the last day of the current month
LocalDate lastDayOfMonth = currentDate.with(TemporalAdjusters.lastDayOfMonth());
System.out.println("Last Day of Month: " + lastDayOfMonth);
// Get the first day of the current year
LocalDate firstDayOfYear = currentDate.with(TemporalAdjusters.firstDayOfYear());
System.out.println("First Day of Year: " + firstDayOfYear);
// Get the last day of the current year
LocalDate lastDayOfYear = currentDate.with(TemporalAdjusters.lastDayOfYear());
System.out.println("Last Day of Year: " + lastDayOfYear);
}
}
আউটপুট:
Current Date: 2024-12-23
First Day of Month: 2024-12-01
Last Day of Month: 2024-12-31
First Day of Year: 2024-01-01
Last Day of Year: 2024-12-31
ব্যাখ্যা:
firstDayOfMonth(): বর্তমান মাসের প্রথম দিন পেতে এটি ব্যবহার করা হয়।lastDayOfMonth(): বর্তমান মাসের শেষ দিন পেতে এটি ব্যবহার করা হয়।firstDayOfYear(): বর্তমান বছরের প্রথম দিন পেতে এটি ব্যবহার করা হয়।lastDayOfYear(): বর্তমান বছরের শেষ দিন পেতে এটি ব্যবহার করা হয়।
2. পরবর্তী বা পূর্ববর্তী দিনের নির্ধারণ:
import java.time.*;
import java.time.temporal.*;
public class TemporalAdjustersExample {
public static void main(String[] args) {
// Get the current date
LocalDate currentDate = LocalDate.now();
System.out.println("Current Date: " + currentDate);
// Get the next Monday
LocalDate nextMonday = currentDate.with(TemporalAdjusters.next(DayOfWeek.MONDAY));
System.out.println("Next Monday: " + nextMonday);
// Get the previous Friday
LocalDate previousFriday = currentDate.with(TemporalAdjusters.previous(DayOfWeek.FRIDAY));
System.out.println("Previous Friday: " + previousFriday);
// Get the next or same Wednesday
LocalDate nextOrSameWednesday = currentDate.with(TemporalAdjusters.nextOrSame(DayOfWeek.WEDNESDAY));
System.out.println("Next or Same Wednesday: " + nextOrSameWednesday);
}
}
আউটপুট:
Current Date: 2024-12-23
Next Monday: 2024-12-25
Previous Friday: 2024-12-21
Next or Same Wednesday: 2024-12-26
ব্যাখ্যা:
next(DayOfWeek.MONDAY): পরবর্তী সোমবারের তারিখ বের করতে এটি ব্যবহার করা হয়।previous(DayOfWeek.FRIDAY): পূর্ববর্তী শুক্রবারের তারিখ বের করতে এটি ব্যবহার করা হয়।nextOrSame(DayOfWeek.WEDNESDAY): পরবর্তী বা বর্তমান বুধবারের তারিখ বের করতে এটি ব্যবহার করা হয়।
3. মাসের প্রথম বা শেষ সপ্তাহের দিন নির্ধারণ:
import java.time.*;
import java.time.temporal.*;
public class TemporalAdjustersExample {
public static void main(String[] args) {
// Get the current date
LocalDate currentDate = LocalDate.now();
System.out.println("Current Date: " + currentDate);
// Get the first day of the next month
LocalDate firstDayOfNextMonth = currentDate.with(TemporalAdjusters.firstDayOfNextMonth());
System.out.println("First Day of Next Month: " + firstDayOfNextMonth);
// Get the last day of the next month
LocalDate lastDayOfNextMonth = currentDate.with(TemporalAdjusters.lastDayOfNextMonth());
System.out.println("Last Day of Next Month: " + lastDayOfNextMonth);
}
}
আউটপুট:
Current Date: 2024-12-23
First Day of Next Month: 2025-01-01
Last Day of Next Month: 2025-01-31
ব্যাখ্যা:
firstDayOfNextMonth(): পরবর্তী মাসের প্রথম দিন বের করতে এটি ব্যবহার করা হয়।lastDayOfNextMonth(): পরবর্তী মাসের শেষ দিন বের করতে এটি ব্যবহার করা হয়।
4. ব্যবহারকারী ডিফাইনড Adjustment:
TemporalAdjusters ব্যবহার করে আপনি কাস্টম তারিখ সমন্বয়ও করতে পারেন। উদাহরণস্বরূপ, আপনি একটি নির্দিষ্ট দিন যেমন আগামী 15তম দিন বা একটি নির্দিষ্ট সপ্তাহের দিন নির্ধারণ করতে পারেন।
import java.time.*;
import java.time.temporal.*;
public class CustomTemporalAdjusterExample {
public static void main(String[] args) {
// Get the current date
LocalDate currentDate = LocalDate.now();
System.out.println("Current Date: " + currentDate);
// Create a custom adjuster for the 15th day of the month
LocalDate fifteenthDayOfMonth = currentDate.with(dayOfMonth(15));
System.out.println("15th Day of the Month: " + fifteenthDayOfMonth);
}
// Custom Temporal Adjuster to set the day of the month to a specific date
public static TemporalAdjuster dayOfMonth(int day) {
return temporal -> temporal.withDayOfMonth(day);
}
}
আউটপুট:
Current Date: 2024-12-23
15th Day of the Month: 2024-12-15
TemporalAdjustersক্লাসটিjava.timeপ্যাকেজে পাওয়া যায় এবং এটিLocalDate,LocalDateTime,ZonedDateTimeএর মতোTemporalঅবজেক্টের তারিখ এবং সময় ম্যানিপুলেট করতে সাহায্য করে।- এটি বিভিন্ন প্রি-ডিফাইন্ড মেথড সরবরাহ করে যেমন মাসের প্রথম দিন, সপ্তাহের প্রথম দিন, নির্দিষ্ট দিন, এবং এমনকি আপনার নিজস্ব কাস্টম ডেটা সমন্বয় করতে সাহায্য করে।
TemporalAdjustersব্যবহার করে সময় অঞ্চল বা বিভিন্ন তারিখ সম্পর্কিত কাজ খুব সহজ এবং কার্যকরভাবে করা যায়।
TemporalAdjusters ক্লাসটি java.time প্যাকেজের একটি গুরুত্বপূর্ণ অংশ যা Temporal অবজেক্ট (যেমন LocalDate, LocalTime, LocalDateTime, ZonedDateTime) এর তারিখ এবং সময়ের মান পরিবর্তন বা adjustment করতে ব্যবহৃত হয়। TemporalAdjusters পূর্বনির্ধারিত কিছু সাধারণ date adjustment ফাংশন প্রদান করে, যেমন মাসের প্রথম দিন, মাসের শেষ দিন, বা সপ্তাহের প্রথম দিন ইত্যাদি।
TemporalAdjusters কি?
TemporalAdjusters একটি utility ক্লাস যা Temporal অবজেক্টের তারিখ পরিবর্তন বা সংশোধন করতে সহায়তা করে। এটি TemporalAdjuster ইন্টারফেস বাস্তবায়ন করে এবং সাধারণভাবে LocalDate, LocalDateTime, এবং ZonedDateTime এর মত টাইম ক্লাসগুলোর জন্য কাজ করে।
TemporalAdjusters ক্লাসটি বিভিন্ন ধরনের adjustment করতে সাহায্য করে যেমন:
- মাসের প্রথম দিন
- মাসের শেষ দিন
- সপ্তাহের প্রথম দিন
- সপ্তাহের শেষ দিন
- বছরের প্রথম দিন
TemporalAdjusters এর প্রয়োজনীয়তা:
TemporalAdjusters ক্লাসের মাধ্যমে আপনি সহজেই তারিখ এবং সময়ের মানকে প্রোগ্রাম্যাটিকভাবে adjust বা manipulate করতে পারবেন। এর ব্যবহারকারী বান্ধব পদ্ধতিতে জটিল তারিখ গণনা এবং সময়ের পরিবর্তনকে সহজ করে তোলে, যা আপনার অ্যাপ্লিকেশন ডেভেলপমেন্টে অনেক সুবিধা দেয়। উদাহরণস্বরূপ, যদি আপনাকে প্রতিটি মাসের প্রথম দিন বা তৃতীয় সপ্তাহের রবিবার পেতে হয়, তবে TemporalAdjusters এর মাধ্যমে আপনি খুব সহজেই এটি করতে পারেন।
TemporalAdjusters এর কিছু উদাহরণ:
1. মাসের প্রথম দিন পাওয়া (firstDayOfMonth):
TemporalAdjusters.firstDayOfMonth() ব্যবহার করে আপনি মাসের প্রথম দিন পেতে পারেন।
import java.time.*;
import java.time.temporal.*;
public class TemporalAdjusterExample {
public static void main(String[] args) {
// Current date
LocalDate currentDate = LocalDate.now();
System.out.println("Current Date: " + currentDate);
// Get the first day of the current month
LocalDate firstDayOfMonth = currentDate.with(TemporalAdjusters.firstDayOfMonth());
System.out.println("First Day of Month: " + firstDayOfMonth);
}
}
আউটপুট:
Current Date: 2024-12-23
First Day of Month: 2024-12-01
ব্যাখ্যা:
with(TemporalAdjusters.firstDayOfMonth())ব্যবহার করে বর্তমান মাসের প্রথম দিন পাওয়া গেছে।
2. মাসের শেষ দিন পাওয়া (lastDayOfMonth):
TemporalAdjusters.lastDayOfMonth() ব্যবহার করে মাসের শেষ দিন পাওয়া যায়।
import java.time.*;
import java.time.temporal.*;
public class TemporalAdjusterExample {
public static void main(String[] args) {
// Current date
LocalDate currentDate = LocalDate.now();
System.out.println("Current Date: " + currentDate);
// Get the last day of the current month
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
ব্যাখ্যা:
with(TemporalAdjusters.lastDayOfMonth())ব্যবহার করে বর্তমান মাসের শেষ দিন পাওয়া গেছে।
3. সপ্তাহের প্রথম দিন পাওয়া (firstDayOfWeek):
TemporalAdjusters.firstDayOfWeek() ব্যবহার করে বর্তমান সপ্তাহের প্রথম দিন পাওয়া যায়।
import java.time.*;
import java.time.temporal.*;
public class TemporalAdjusterExample {
public static void main(String[] args) {
// Current date
LocalDate currentDate = LocalDate.now();
System.out.println("Current Date: " + currentDate);
// Get the first day of the week (Monday, assuming default locale)
LocalDate firstDayOfWeek = currentDate.with(TemporalAdjusters.firstDayOfWeek());
System.out.println("First Day of Week: " + firstDayOfWeek);
}
}
আউটপুট:
Current Date: 2024-12-23
First Day of Week: 2024-12-23
ব্যাখ্যা:
with(TemporalAdjusters.firstDayOfWeek())ব্যবহার করে বর্তমান সপ্তাহের প্রথম দিন পাওয়া গেছে। এর মানে, যদি আপনার লোকাল (locale) অনুযায়ী সপ্তাহ সোমবার থেকে শুরু হয়, তবে ২৩ ডিসেম্বর ২০২৪ হবে।
4. সাপ্তাহিক সাপ্তাহিক প্রথম দিন বা শেষ দিন পাওয়া (firstInMonth() এবং lastInMonth()):
firstInMonth() এবং lastInMonth() ব্যবহার করে নির্দিষ্ট সপ্তাহের প্রথম বা শেষ দিন পাওয়া যায়।
import java.time.*;
import java.time.temporal.*;
public class TemporalAdjusterExample {
public static void main(String[] args) {
// Current date
LocalDate currentDate = LocalDate.now();
System.out.println("Current Date: " + currentDate);
// Get the first Sunday of the current month
LocalDate firstSundayOfMonth = currentDate.with(TemporalAdjusters.firstInMonth(DayOfWeek.SUNDAY));
System.out.println("First Sunday of Month: " + firstSundayOfMonth);
// Get the last Friday of the current month
LocalDate lastFridayOfMonth = currentDate.with(TemporalAdjusters.lastInMonth(DayOfWeek.FRIDAY));
System.out.println("Last Friday of Month: " + lastFridayOfMonth);
}
}
আউটপুট:
Current Date: 2024-12-23
First Sunday of Month: 2024-12-01
Last Friday of Month: 2024-12-29
ব্যাখ্যা:
firstInMonth(DayOfWeek.SUNDAY): বর্তমান মাসের প্রথম রবিবার।lastInMonth(DayOfWeek.FRIDAY): বর্তমান মাসের শেষ শুক্রবার।
TemporalAdjusters এর কিছু গুরুত্বপূর্ণ মেথড:
firstDayOfMonth(): মাসের প্রথম দিন।lastDayOfMonth(): মাসের শেষ দিন।firstDayOfYear(): বছরের প্রথম দিন।lastDayOfYear(): বছরের শেষ দিন।firstDayOfWeek(): সপ্তাহের প্রথম দিন (সাধারণত সোমবার)।lastDayOfWeek(): সপ্তাহের শেষ দিন (সাধারণত রবিবার)।next(DayOfWeek): পরবর্তী নির্দিষ্ট দিন (যেমন পরবর্তী সোমবার)।previous(DayOfWeek): পূর্ববর্তী নির্দিষ্ট দিন (যেমন পূর্ববর্তী রবিবার)।firstInMonth(DayOfWeek): মাসের প্রথম নির্দিষ্ট দিন (যেমন প্রথম রবিবার)।lastInMonth(DayOfWeek): মাসের শেষ নির্দিষ্ট দিন (যেমন শেষ শুক্রবার)।
TemporalAdjusters এর ব্যবহারিক প্রয়োগ:
- Report Generation: রিপোর্ট জেনারেশন প্রক্রিয়ায়, যেমন মাসিক রিপোর্টের জন্য মাসের প্রথম দিন বা শেষ দিন নির্ধারণ।
- Financial Calculations: Financial Calculations যেমন মাসিক বেতন হিসাব করার সময় মাসের প্রথম দিন বা শেষ দিন নির্ধারণ।
- Event Scheduling: ইভেন্ট শিডিউল করার জন্য, যেমন পরবর্তী রোববার বা শুক্রবার ইভেন্ট শিডিউল করা।
TemporalAdjusters Java 8 এর java.time প্যাকেজের একটি শক্তিশালী অংশ, যা তারিখ এবং সময়ের পরিবর্তন বা সমন্বয় (adjustment) করার জন্য ব্যবহৃত হয়। এটি বিশেষভাবে ব্যবহারকারীর জন্য সহজ এবং সঠিকভাবে তারিখের বিভিন্ন অঙ্গসংস্থান তৈরি এবং ম্যানিপুলেশন করতে সহায়তা করে। আপনি এটি মাসের প্রথম দিন, সপ্তাহের প্রথম দিন, সাপ্তাহিক বা মাসিক নির্দিষ্ট দিন বের করতে এবং আরও অনেক কাজে ব্যবহার করতে পারেন।
Java Time API (যেমন java.time প্যাকেজ) এমন কিছু শক্তিশালী Adjusters প্রদান করে, যা দিয়ে আপনি তারিখকে বিশেষভাবে অ্যাডজাস্ট (adjust) করতে পারেন। Adjusters ব্যবহার করে, আপনি তারিখের মধ্যে পরিবর্তন আনতে পারেন যেমন নির্দিষ্ট দিন বা মাস পরিবর্তন করা, বা আগামী মাসের প্রথম দিন খুঁজে বের করা ইত্যাদি।
Adjusters এর মাধ্যমে তারিখ পরিবর্তন
Java 8 এবং পরবর্তী সংস্করণে, java.time প্যাকেজে TemporalAdjusters ক্লাসটি বিভিন্ন ধরনের date adjustment এর জন্য তৈরি করা হয়েছে। উদাহরণস্বরূপ, আপনি firstDayOfNextMonth, nextOrSame, firstDayOfYear, lastDayOfMonth ইত্যাদি অ্যাডজাস্টার ব্যবহার করতে পারেন।
নির্দিষ্ট দিন বা মাসে Adjusters ব্যবহার করা:
1. firstDayOfNextMonth - পরবর্তী মাসের প্রথম দিন
TemporalAdjusters.firstDayOfNextMonth() অ্যাডজাস্টারটি বর্তমান মাসের পরবর্তী মাসের প্রথম দিন নির্ধারণ করে।
উদাহরণ:
import java.time.*;
import java.time.temporal.TemporalAdjusters;
public class AdjusterExample {
public static void main(String[] args) {
// Get current date
LocalDate currentDate = LocalDate.now();
System.out.println("Current Date: " + currentDate);
// Adjust to the first day of next month
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
ব্যাখ্যা:
with(TemporalAdjusters.firstDayOfNextMonth()): এটি বর্তমান তারিখ থেকে পরবর্তী মাসের প্রথম দিন পর্যন্ত পরিবর্তন করে।
2. nextOrSame - নির্দিষ্ট দিনের পরবর্তী বা একই দিন
TemporalAdjusters.nextOrSame(DayOfWeek dayOfWeek) অ্যাডজাস্টারটি একটি নির্দিষ্ট দিনের পরবর্তী দিন বা ঐ দিনই রিটার্ন করে যদি তা বর্তমান দিনে থাকে। উদাহরণস্বরূপ, আপনি যদি "Monday" দিন খুঁজে পেতে চান, তবে এটি বর্তমান দিনের পরে পরবর্তী Monday অথবা আজকের Monday রিটার্ন করবে।
উদাহরণ:
import java.time.*;
import java.time.temporal.TemporalAdjusters;
public class NextOrSameAdjusterExample {
public static void main(String[] args) {
// Get current date
LocalDate currentDate = LocalDate.now();
System.out.println("Current Date: " + currentDate);
// Adjust to the next or same Monday
LocalDate nextMonday = currentDate.with(TemporalAdjusters.nextOrSame(DayOfWeek.MONDAY));
System.out.println("Next or Same Monday: " + nextMonday);
}
}
আউটপুট:
Current Date: 2024-12-23
Next or Same Monday: 2024-12-23
ব্যাখ্যা:
TemporalAdjusters.nextOrSame(DayOfWeek.MONDAY): এটি বর্তমান তারিখের পরবর্তী বা একই Monday দিন রিটার্ন করে।
3. firstDayOfYear - বছরের প্রথম দিন
TemporalAdjusters.firstDayOfYear() অ্যাডজাস্টারটি বছরের প্রথম দিন নির্ধারণ করে।
উদাহরণ:
import java.time.*;
import java.time.temporal.TemporalAdjusters;
public class FirstDayOfYearExample {
public static void main(String[] args) {
// Get current date
LocalDate currentDate = LocalDate.now();
System.out.println("Current Date: " + currentDate);
// Adjust to the first day of the year
LocalDate firstDayOfYear = currentDate.with(TemporalAdjusters.firstDayOfYear());
System.out.println("First Day of the Year: " + firstDayOfYear);
}
}
আউটপুট:
Current Date: 2024-12-23
First Day of the Year: 2024-01-01
ব্যাখ্যা:
TemporalAdjusters.firstDayOfYear(): এটি বছরের প্রথম দিন (1 জানুয়ারি) রিটার্ন করে।
4. lastDayOfMonth - মাসের শেষ দিন
TemporalAdjusters.lastDayOfMonth() অ্যাডজাস্টারটি বর্তমান মাসের শেষ দিন নির্ধারণ করে।
উদাহরণ:
import java.time.*;
import java.time.temporal.TemporalAdjusters;
public class LastDayOfMonthExample {
public static void main(String[] args) {
// Get current date
LocalDate currentDate = LocalDate.now();
System.out.println("Current Date: " + currentDate);
// Adjust to the last day of the month
LocalDate lastDayOfMonth = currentDate.with(TemporalAdjusters.lastDayOfMonth());
System.out.println("Last Day of the Month: " + lastDayOfMonth);
}
}
আউটপুট:
Current Date: 2024-12-23
Last Day of the Month: 2024-12-31
ব্যাখ্যা:
TemporalAdjusters.lastDayOfMonth(): এটি বর্তমান মাসের শেষ দিন রিটার্ন করে (যেমন ডিসেম্বরের ৩১ তারিখ)।
- Adjusters হল
java.time.temporal.TemporalAdjusterইন্টারফেসের একটি বাস্তবায়ন, যা তারিখ এবং সময়ের ক্ষেত্রে নানা ধরনের অ্যাডজাস্টমেন্টের কাজ করে। - আপনি
firstDayOfNextMonth(),nextOrSame(),firstDayOfYear(),lastDayOfMonth()ইত্যাদি Adjusters ব্যবহার করে তারিখ বা সময়কে ইচ্ছামত পরিবর্তন বা অ্যাডজাস্ট করতে পারেন। TemporalAdjustersক্লাসটি সময় এবং তারিখের কাজের জন্য শক্তিশালী এবং সহজ উপায় প্রদান করে, যা বিশেষ করে ক্যালেন্ডার বা সময় ব্যবস্থাপনায় সহায়ক।
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