ChronoUnit ক্লাসটি java.time.temporal প্যাকেজে অন্তর্ভুক্ত এবং এটি তারিখ এবং সময়ের পরিমাপ করতে ব্যবহৃত হয়। এটি Temporal ইন্টারফেসের সাথে কাজ করে এবং আপনি এই ক্লাসটি দিয়ে দিন, মাস, বছর বা অন্যান্য সময়ের ইউনিটে তারিখ এবং সময়ের পার্থক্য বের করতে পারেন।
ChronoUnit ক্লাসটি TemporalUnit ইন্টারফেসকে ইমপ্লিমেন্ট করে এবং এটি কিছু নির্দিষ্ট সময়ের পরিমাপের জন্য বিভিন্ন constants প্রদান করে, যেমন DAYS, MONTHS, YEARS, HOURS, MINUTES, SECONDS ইত্যাদি।
ChronoUnit এর ভূমিকা:
- দিন, মাস, বছর পরিমাপ:
ChronoUnit.DAYS,ChronoUnit.MONTHS,ChronoUnit.YEARSব্যবহার করে আপনি দুটি তারিখের মধ্যে দিন, মাস, বা বছর গুনতি করতে পারবেন। - Date/Time Between Calculation:
ChronoUnitব্যবহার করে আপনিTemporalঅবজেক্টের মধ্যে সময়ের পরিমাপ করতে পারবেন, যেমন দুটি তারিখ বা সময়ের মধ্যে পার্থক্য বের করা। - Time Adjustment:
ChronoUnitব্যবহার করে নির্দিষ্ট দিন, মাস, বছর যোগ বা বিয়োগ করা যেতে পারে।
ChronoUnit ব্যবহার করার উদাহরণ:
1. দিন, মাস, এবং বছর পরিমাপ করা (DAYS, MONTHS, YEARS)
ধরা যাক, আমাদের দুটি LocalDate অবজেক্ট আছে এবং আমরা তাদের মধ্যে দিন, মাস, এবং বছর এর পার্থক্য বের করতে চাই।
import java.time.*;
import java.time.temporal.*;
public class ChronoUnitExample {
public static void main(String[] args) {
// Create two LocalDate objects
LocalDate startDate = LocalDate.of(2024, 1, 1); // 1st January 2024
LocalDate endDate = LocalDate.of(2025, 12, 31); // 31st December 2025
// Calculate the difference in days, months, and years
long daysBetween = ChronoUnit.DAYS.between(startDate, endDate);
long monthsBetween = ChronoUnit.MONTHS.between(startDate, endDate);
long yearsBetween = ChronoUnit.YEARS.between(startDate, endDate);
// Print the results
System.out.println("Days between: " + daysBetween);
System.out.println("Months between: " + monthsBetween);
System.out.println("Years between: " + yearsBetween);
}
}
আউটপুট:
Days between: 730
Months between: 24
Years between: 2
ব্যাখ্যা:
ChronoUnit.DAYS.between(startDate, endDate): এটি দুটিLocalDateএর মধ্যে দিনগুলোর পার্থক্য বের করে।ChronoUnit.MONTHS.between(startDate, endDate): এটি দুটি তারিখের মধ্যে মাসের পার্থক্য বের করে।ChronoUnit.YEARS.between(startDate, endDate): এটি দুটি তারিখের মধ্যে বছরগুলোর পার্থক্য বের করে।
2. সময় যোগ এবং বিয়োগ (Time Adjustment)
ChronoUnit ব্যবহার করে আপনি দিন, মাস, বছর যোগ বা বিয়োগ করতে পারেন।
import java.time.*;
import java.time.temporal.*;
public class ChronoUnitAdjustmentExample {
public static void main(String[] args) {
// Create a LocalDate object
LocalDate startDate = LocalDate.of(2024, 1, 1); // 1st January 2024
// Add 5 days to the start date
LocalDate newDateAfterAddingDays = startDate.plus(5, ChronoUnit.DAYS);
System.out.println("New Date after adding 5 days: " + newDateAfterAddingDays);
// Subtract 3 months from the start date
LocalDate newDateAfterSubtractingMonths = startDate.minus(3, ChronoUnit.MONTHS);
System.out.println("New Date after subtracting 3 months: " + newDateAfterSubtractingMonths);
// Add 2 years to the start date
LocalDate newDateAfterAddingYears = startDate.plus(2, ChronoUnit.YEARS);
System.out.println("New Date after adding 2 years: " + newDateAfterAddingYears);
}
}
আউটপুট:
New Date after adding 5 days: 2024-01-06
New Date after subtracting 3 months: 2023-10-01
New Date after adding 2 years: 2026-01-01
ব্যাখ্যা:
startDate.plus(5, ChronoUnit.DAYS): এটি startDate থেকে ৫ দিন যোগ করবে এবং নতুন তারিখ প্রদান করবে।startDate.minus(3, ChronoUnit.MONTHS): এটি startDate থেকে ৩ মাস বিয়োগ করবে এবং নতুন তারিখ প্রদান করবে।startDate.plus(2, ChronoUnit.YEARS): এটি startDate থেকে ২ বছর যোগ করবে এবং নতুন তারিখ প্রদান করবে।
3. সময় পরিমাপ করা (Hours, Minutes, Seconds)
ChronoUnit ব্যবহার করে আপনি ঘণ্টা, মিনিট এবং সেকেন্ড এর পার্থক্যও বের করতে পারেন।
import java.time.*;
import java.time.temporal.*;
public class TimeDifferenceExample {
public static void main(String[] args) {
// Create two LocalTime objects
LocalTime startTime = LocalTime.of(8, 30); // 08:30 AM
LocalTime endTime = LocalTime.of(14, 45); // 02:45 PM
// Calculate the difference in hours, minutes, and seconds
long hoursBetween = ChronoUnit.HOURS.between(startTime, endTime);
long minutesBetween = ChronoUnit.MINUTES.between(startTime, endTime);
long secondsBetween = ChronoUnit.SECONDS.between(startTime, endTime);
// Print the results
System.out.println("Hours between: " + hoursBetween);
System.out.println("Minutes between: " + minutesBetween);
System.out.println("Seconds between: " + secondsBetween);
}
}
আউটপুট:
Hours between: 6
Minutes between: 375
Seconds between: 22500
ব্যাখ্যা:
ChronoUnit.HOURS.between(startTime, endTime): এটিLocalTimeঅবজেক্টের মধ্যে ঘণ্টার পার্থক্য বের করে।ChronoUnit.MINUTES.between(startTime, endTime): এটি মিনিটের পার্থক্য বের করে।ChronoUnit.SECONDS.between(startTime, endTime): এটি সেকেন্ডের পার্থক্য বের করে।
ChronoUnit ক্লাসটি java.time.temporal প্যাকেজে একটি অত্যন্ত কার্যকরী ক্লাস যা আপনাকে তারিখ এবং সময়ের ইউনিটে পার্থক্য বের করতে এবং সময়ের সাথে কাজ করতে সাহায্য করে। এটি DAYS, MONTHS, YEARS, HOURS, MINUTES, SECONDS ইত্যাদি টাইম ইউনিটের মাধ্যমে পার্থক্য নির্ণয় এবং সময় যোগ/বিয়োগ করতে ব্যবহৃত হয়।
ChronoUnit.DAYS: দুটি তারিখের মধ্যে দিন পার্থক্য বের করে।ChronoUnit.MONTHS: দুটি তারিখের মধ্যে মাস পার্থক্য বের করে।ChronoUnit.YEARS: দুটি তারিখের মধ্যে বছর পার্থক্য বের করে।ChronoUnit.HOURS,ChronoUnit.MINUTES,ChronoUnit.SECONDS: সময়ের ইউনিটগুলির মধ্যে পার্থক্য বের করতে ব্যবহার করা হয়।
এটি তারিখ এবং সময় সম্পর্কিত বিভিন্ন কাজ খুব সহজে করার জন্য একটি শক্তিশালী এবং কার্যকরী টুল।