Period কি এবং কিভাবে কাজ করে?

Period এবং Duration - জাভা টাইম প্যাকেজ (Java.time Package) - Java Technologies

362

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 ক্লাসের কিছু গুরুত্বপূর্ণ মেথড:

  1. between(): দুটি তারিখের মধ্যে পার্থক্য বের করতে ব্যবহৃত হয়।
  2. getYears(): পার্থক্যে বছর কত তা ফেরত দেয়।
  3. getMonths(): পার্থক্যে মাস কত তা ফেরত দেয়।
  4. getDays(): পার্থক্যে দিন কত তা ফেরত দেয়।
  5. 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() মেথড ব্যবহার করে তারিখে পরিবর্তন করতে পারেন।
Content added By
Promotion

Are you sure to start over?

Loading...