Period হল Java 8 এ java.time প্যাকেজের একটি ক্লাস যা তারিখের পার্থক্য (date-based) গণনা করার জন্য ব্যবহৃত হয়। এটি year, month, and day হিসেবে পার্থক্য বের করে এবং এটি immutable (অপরিবর্তনশীল) এবং thread-safe।
Period ক্লাসের মূল উদ্দেশ্য হচ্ছে দুটি LocalDate, LocalDateTime, বা ZonedDateTime এর মধ্যে তারিখের পার্থক্য বের করা।
Period ক্লাসের বৈশিষ্ট্য:
- এটি বছর, মাস এবং দিনের পার্থক্য নির্ধারণ করে।
- এটি শুধুমাত্র date-based পার্থক্য হিসাব করে, অর্থাৎ সময়ের পার্থক্য (ঘণ্টা, মিনিট, সেকেন্ড) বিবেচনা করা হয় না। সময়ের পার্থক্য গণনা করতে
Durationব্যবহার করতে হয়। Periodক্লাসের মধ্যে আপনিgetYears(),getMonths(), এবংgetDays()মেথডের মাধ্যমে পার্থক্যের মান পেতে পারেন।
Period কিভাবে কাজ করে?
Period ক্লাসের কিছু গুরুত্বপূর্ণ মেথড:
between(): দুটি তারিখের মধ্যে পার্থক্য বের করতে ব্যবহৃত হয়।getYears(): পার্থক্যে বছর কত তা ফেরত দেয়।getMonths(): পার্থক্যে মাস কত তা ফেরত দেয়।getDays(): পার্থক্যে দিন কত তা ফেরত দেয়।plus()এবংminus(): তারিখে বছর, মাস বা দিন যোগ বা বিয়োগ করার জন্য ব্যবহৃত হয়।
Period ব্যবহার করার উদাহরণ:
১. দুটি তারিখের মধ্যে পার্থক্য বের করা:
import java.time.*;
public class PeriodExample {
public static void main(String[] args) {
// Create two LocalDate objects
LocalDate startDate = LocalDate.of(2020, 1, 1); // 1st January 2020
LocalDate endDate = LocalDate.of(2024, 12, 31); // 31st December 2024
// Calculate the period between the two dates
Period period = Period.between(startDate, endDate);
// Print the period
System.out.println("Years: " + period.getYears());
System.out.println("Months: " + period.getMonths());
System.out.println("Days: " + period.getDays());
}
}
আউটপুট:
Years: 4
Months: 11
Days: 30
ব্যাখ্যা:
Period.between(startDate, endDate): এটিstartDateএবংendDateএর মধ্যে পার্থক্য বের করে। এই ক্ষেত্রে পার্থক্য হলো ৪ বছর ১১ মাস ৩০ দিন।getYears(),getMonths(), এবংgetDays()এর মাধ্যমে আমরা পার্থক্যের বছর, মাস এবং দিন পেতে পারি।
২. নির্দিষ্ট তারিখে বছর, মাস বা দিন যোগ বা বিয়োগ করা:
Period এর plus() এবং minus() মেথড ব্যবহার করে আপনি তারিখে কিছু সময় যোগ বা বিয়োগ করতে পারেন।
import java.time.*;
public class PeriodManipulationExample {
public static void main(String[] args) {
// Create a specific date
LocalDate date = LocalDate.of(2024, 1, 1); // 1st January 2024
// Create a period of 2 years, 3 months, and 10 days
Period period = Period.of(2, 3, 10);
// Add the period to the current date
LocalDate newDate = date.plus(period);
System.out.println("New Date after adding period: " + newDate);
// Subtract the period from the current date
LocalDate previousDate = date.minus(period);
System.out.println("New Date after subtracting period: " + previousDate);
}
}
আউটপুট:
New Date after adding period: 2026-04-11
New Date after subtracting period: 2021-09-21
ব্যাখ্যা:
Period.of(2, 3, 10): এটি একটিPeriodতৈরি করে যা ২ বছর, ৩ মাস, ১০ দিন পরিমাণ।date.plus(period): এটি নির্দিষ্ট তারিখে সেইPeriodযোগ করে।date.minus(period): এটি নির্দিষ্ট তারিখ থেকে সেইPeriodবিয়োগ করে।
Period এবং Duration মধ্যে পার্থক্য:
Periodতারিখের পার্থক্য (year, month, day) বের করে।Durationসময়ের পার্থক্য (hour, minute, second) বের করে।
যেমন যদি আপনি দুইটি LocalDate এর মধ্যে পার্থক্য চান, তবে আপনি Period ব্যবহার করবেন, কিন্তু যদি আপনি দুইটি LocalTime এর মধ্যে পার্থক্য চান, তবে আপনি Duration ব্যবহার করবেন।
Periodক্লাসটি তারিখের মধ্যে পার্থক্য বের করার জন্য খুবই কার্যকরী।- এটি immutable, thread-safe, এবং সহজে ব্যবহারযোগ্য।
- আপনি
Periodব্যবহার করে বছর, মাস, এবং দিনের পার্থক্য বের করতে পারেন এবংplus()এবংminus()মেথড ব্যবহার করে তারিখে পরিবর্তন করতে পারেন।
Read more