Period এবং Duration

Java Technologies - জাভা টাইম প্যাকেজ (Java.time Package)
174

Java.time প্যাকেজ (যেটি Java 8 এ পরিচিতি লাভ করেছে) ডেট এবং টাইম সম্পর্কিত জটিলতা সমাধান করার জন্য একটি শক্তিশালী API সরবরাহ করে। এর মধ্যে Period এবং Duration ক্লাস দুটি গুরুত্বপূর্ণ উপাদান যা সময়ের পার্থক্য (difference) বের করার জন্য ব্যবহৃত হয়। এই দুটি ক্লাসের মাধ্যমে আপনি তারিখের পার্থক্য (যেমন, বছর, মাস, দিন) এবং সময় (ঘণ্টা, মিনিট, সেকেন্ড) এর পার্থক্য বের করতে পারবেন।

1. Period ক্লাস:

Period ক্লাসটি তারিখের পার্থক্য (date-based) বের করার জন্য ব্যবহৃত হয়। এটি বছরের, মাসের, এবং দিনের পার্থক্য হিসাব করতে ব্যবহৃত হয়। এটি সাধারণত LocalDate অবজেক্টের মধ্যে পার্থক্য বের করার জন্য ব্যবহার করা হয়।

Period ক্লাসের ব্যবহার:

import java.time.*;

public class PeriodExample {
    public static void main(String[] args) {
        // Create two LocalDate objects
        LocalDate startDate = LocalDate.of(2024, 1, 1);  // Start date: 1st January 2024
        LocalDate endDate = LocalDate.of(2024, 12, 31);  // End date: 31st December 2024

        // Calculate the period between two dates
        Period period = Period.between(startDate, endDate);
        
        // Output the period
        System.out.println("Period: " + period.getYears() + " years " + period.getMonths() + " months " + period.getDays() + " days");
    }
}

আউটপুট:

Period: 0 years 11 months 30 days

ব্যাখ্যা:

  • Period.between(startDate, endDate): এই মেথডটি দুটি LocalDate অবজেক্টের মধ্যে পার্থক্য বের করে, যা Period আকারে ফেরত দেয়।
  • getYears(), getMonths(), এবং getDays(): এটি Period থেকে বছর, মাস এবং দিনের মান বের করে।

2. Duration ক্লাস:

Duration ক্লাসটি সময় (time-based) পার্থক্য বের করার জন্য ব্যবহৃত হয়। এটি LocalTime, LocalDateTime, এবং Instant অবজেক্টের মধ্যে পার্থক্য বের করার জন্য ব্যবহৃত হয়। এটি ঘণ্টা, মিনিট, সেকেন্ড, মিলিসেকেন্ড, মাইক্রোসেকেন্ড এবং ন্যানোসেকেন্ডের পার্থক্য হিসাব করে।

Duration ক্লাসের ব্যবহার:

import java.time.*;

public class DurationExample {
    public static void main(String[] args) {
        // Create two LocalTime objects
        LocalTime startTime = LocalTime.of(10, 15);  // Start time: 10:15
        LocalTime endTime = LocalTime.of(14, 30);    // End time: 14:30

        // Calculate the duration between two times
        Duration duration = Duration.between(startTime, endTime);
        
        // Output the duration in hours and minutes
        System.out.println("Duration: " + duration.toHours() + " hours " + duration.toMinutes() % 60 + " minutes");
    }
}

আউটপুট:

Duration: 4 hours 15 minutes

ব্যাখ্যা:

  • Duration.between(startTime, endTime): এটি দুটি LocalTime অবজেক্টের মধ্যে সময়ের পার্থক্য বের করে, যা Duration আকারে ফেরত দেয়।
  • toHours() এবং toMinutes(): এটি Duration থেকে ঘণ্টা এবং মিনিটের মান বের করে।

Period এবং Duration এর মধ্যে পার্থক্য:

CriteriaPeriodDuration
TypeDate-based (year, month, day)Time-based (hours, minutes, seconds, etc.)
Used WithLocalDate, Year, YearMonthLocalTime, LocalDateTime, Instant
ExamplePeriod.ofMonths(5)Duration.ofHours(3)
CalculationYear, Month, Day differenceHour, Minute, Second, Millisecond difference
Supported UnitsYear, Month, DayHours, Minutes, Seconds, Milliseconds, Nanoseconds

3. Example: Combining Period and Duration:

একই সময়ে যদি তারিখ এবং সময়ের পার্থক্য বের করতে হয়, তবে আপনি Period এবং Duration উভয়ই ব্যবহার করতে পারেন।

import java.time.*;

public class PeriodDurationExample {
    public static void main(String[] args) {
        // Calculate Period between two dates
        LocalDate startDate = LocalDate.of(2024, 1, 1);
        LocalDate endDate = LocalDate.of(2024, 12, 31);
        Period period = Period.between(startDate, endDate);
        
        // Calculate Duration between two times
        LocalTime startTime = LocalTime.of(10, 15);
        LocalTime endTime = LocalTime.of(14, 30);
        Duration duration = Duration.between(startTime, endTime);

        // Print results
        System.out.println("Period: " + period.getYears() + " years " + period.getMonths() + " months " + period.getDays() + " days");
        System.out.println("Duration: " + duration.toHours() + " hours " + duration.toMinutes() % 60 + " minutes");
    }
}

আউটপুট:

Period: 0 years 11 months 30 days
Duration: 4 hours 15 minutes

ব্যাখ্যা:

  • এখানে Period তারিখের পার্থক্য বের করছে (১১ মাস ৩০ দিন)।
  • Duration সময়ের পার্থক্য বের করছে (৪ ঘণ্টা ১৫ মিনিট)।

  • Period এবং Duration হল Java 8-এর java.time প্যাকেজের দুটি গুরুত্বপূর্ণ ক্লাস যা তারিখ এবং সময়ের পার্থক্য বের করতে ব্যবহৃত হয়।
  • Period তারিখের পার্থক্য (বছর, মাস, দিন) হিসাব করতে ব্যবহৃত হয়, এবং Duration সময়ের পার্থক্য (ঘণ্টা, মিনিট, সেকেন্ড, মিলিসেকেন্ড) হিসাব করতে ব্যবহৃত হয়।
  • Java 8 এর java.time প্যাকেজটি তারিখ এবং সময়ের ব্যবস্থাপনা অনেক সহজ এবং নির্ভুল করেছে, বিশেষ করে যখন আপনি পার্থক্য বের করতে চান।
Content added By

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

135

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

Duration এর ধারণা এবং এর মধ্যে পার্থক্য

160

Duration হল java.time প্যাকেজের একটি ক্লাস, যা সময় সম্পর্কিত পার্থক্য হিসাব করতে ব্যবহৃত হয়। এটি মূলত ঘণ্টা, মিনিট, সেকেন্ড, মিলিসেকেন্ড এবং ন্যানোসেকেন্ড এর মতো সময়ের পরিমাপ নিয়ে কাজ করে এবং time-based calculations করার জন্য ব্যবহৃত হয়। Duration ক্লাসটি LocalTime, LocalDateTime, Instant ক্লাসের সাথে ব্যবহার করা যেতে পারে যখন আপনি দুটি সময়ের মধ্যে পার্থক্য বের করতে চান বা নির্দিষ্ট সময়ের অ্যাডজাস্টমেন্ট করতে চান।

Duration ক্লাসের মূল বৈশিষ্ট্য:

  1. Time-based calculations: এটি সময়ের পার্থক্য বের করার জন্য ব্যবহৃত হয়, যেমন দুইটি LocalTime বা Instant এর মধ্যে সময়ের পার্থক্য।
  2. Immutable: Duration অবজেক্ট একটি অপরিবর্তনীয় (immutable) অবজেক্ট।
  3. Time units: এটি সেকেন্ড, মিনিট, ঘণ্টা ইত্যাদি সময়ের এককগুলো পরিচালনা করে।
  4. Supports nanoseconds: Duration ক্লাসটি nanoseconds পর্যন্ত সমর্থন করে, যা অতিরিক্ত নির্ভুলতার জন্য ব্যবহারযোগ্য।

Duration ক্লাসের মেথড:

  1. between(): দুটি Temporal অবজেক্টের মধ্যে পার্থক্য হিসাব করে একটি Duration ফেরত দেয়।
  2. ofDays(long days): নির্দিষ্ট দিন (days) থেকে একটি Duration তৈরি করে।
  3. ofHours(long hours): নির্দিষ্ট ঘণ্টা (hours) থেকে একটি Duration তৈরি করে।
  4. ofMinutes(long minutes): নির্দিষ্ট মিনিট (minutes) থেকে একটি Duration তৈরি করে।
  5. ofSeconds(long seconds): নির্দিষ্ট সেকেন্ড (seconds) থেকে একটি Duration তৈরি করে।
  6. toMinutes(): এই মেথডটি মোট সময়কে মিনিটে রূপান্তরিত করে।

Duration ব্যবহার করে সময়ের পার্থক্য বের করার উদাহরণ:

উদাহরণ 1: Duration দিয়ে দুটি সময়ের মধ্যে পার্থক্য বের করা

import java.time.*;

public class DurationExample {
    public static void main(String[] args) {
        // Creating two time instances
        LocalTime startTime = LocalTime.of(10, 15);  // 10:15
        LocalTime endTime = LocalTime.of(14, 30);    // 14:30
        
        // Calculating the duration between two times
        Duration duration = Duration.between(startTime, endTime);
        
        System.out.println("Duration: " + duration.toHours() + " hours " + duration.toMinutes() % 60 + " minutes");
    }
}

আউটপুট:

Duration: 4 hours 15 minutes

ব্যাখ্যা:

  • Duration.between(startTime, endTime): এটি দুটি LocalTime এর মধ্যে সময়ের পার্থক্য বের করে এবং সেই পার্থক্যকে Duration হিসাবে রিটার্ন করে।
  • duration.toHours() এবং duration.toMinutes(): এই মেথডগুলির মাধ্যমে আমরা পার্থক্যকে ঘণ্টা এবং মিনিটে রূপান্তর করেছি।

উদাহরণ 2: Duration দিয়ে নির্দিষ্ট সময় যোগ বা বিয়োগ করা

import java.time.*;

public class DurationManipulation {
    public static void main(String[] args) {
        // Creating a specific time
        LocalTime time = LocalTime.of(10, 30); // 10:30
        
        // Adding 2 hours and 15 minutes
        Duration durationToAdd = Duration.ofHours(2).plusMinutes(15);
        LocalTime newTime = time.plus(durationToAdd);
        
        System.out.println("Original Time: " + time);
        System.out.println("Time after adding 2 hours and 15 minutes: " + newTime);
    }
}

আউটপুট:

Original Time: 10:30
Time after adding 2 hours and 15 minutes: 12:45

ব্যাখ্যা:

  • Duration.ofHours(2).plusMinutes(15): এখানে ২ ঘণ্টা এবং ১৫ মিনিটের Duration তৈরি করা হয়েছে।
  • time.plus(durationToAdd): এটি মূল সময়ের মধ্যে নির্দিষ্ট সময় যোগ করে নতুন সময় তৈরি করে।

Duration এবং Period এর মধ্যে পার্থক্য:

Duration এবং Period দুটোই সময়ের পার্থক্য বের করার জন্য ব্যবহৃত হয়, তবে তাদের মধ্যে কিছু গুরুত্বপূর্ণ পার্থক্য রয়েছে:

  1. Unit of Time:
    • Duration: সময়ের পার্থক্য সেকেন্ড, মিনিট, ঘণ্টা, মিলিসেকেন্ড, এবং ন্যানোসেকেন্ডে মাপা হয়।
    • Period: সময়ের পার্থক্য দিন, মাস, এবং বছর দিয়ে মাপা হয়।
  2. Use Case:
    • Duration: যখন সময়ের পরিমাপ সেকেন্ড বা ঘণ্টা হিসেবে গুরুত্বপূর্ণ হয়, তখন Duration ব্যবহার করা হয়।
    • Period: যখন তারিখের পার্থক্য (দিন, মাস, বছর) গুরুত্বপূর্ণ হয়, তখন Period ব্যবহার করা হয়।
  3. Examples:
    • Duration: সেকেন্ড বা মিনিটের মধ্যে পার্থক্য যেমন ১০ সেকেন্ড বা ৫ মিনিট।
    • Period: তারিখের পার্থক্য যেমন ৩ বছর বা ৭ মাস বা ১৫ দিন।

উদাহরণ 3: Period ব্যবহার:

import java.time.*;

public class PeriodExample {
    public static void main(String[] args) {
        // Creating two dates
        LocalDate startDate = LocalDate.of(2020, 1, 1);
        LocalDate endDate = LocalDate.of(2024, 12, 31);
        
        // Calculating the period between two dates
        Period period = Period.between(startDate, endDate);
        
        System.out.println("Period: " + period.getYears() + " years " + period.getMonths() + " months " + period.getDays() + " days");
    }
}

আউটপুট:

Period: 4 years 11 months 30 days

ব্যাখ্যা:

  • Period.between(startDate, endDate): এটি দুটি LocalDate এর মধ্যে তারিখের পার্থক্য বের করে এবং সেই পার্থক্যকে Period হিসাবে রিটার্ন করে।
  • period.getYears(), period.getMonths(), period.getDays(): এই মেথডগুলো দ্বারা আমরা বছরে, মাসে এবং দিনে পার্থক্য বের করেছি।

  1. Duration: এটি time-based পার্থক্য মাপার জন্য ব্যবহৃত হয়, এবং সেকেন্ড, মিনিট, ঘণ্টা, মিলিসেকেন্ড এবং ন্যানোসেকেন্ড পর্যন্ত সমর্থন করে।
  2. Period: এটি date-based পার্থক্য মাপার জন্য ব্যবহৃত হয়, এবং বছর, মাস এবং দিন পর্যন্ত সমর্থন করে।

Duration এবং Period ক্লাসের মধ্যে পার্থক্য জানলে, আপনি বুঝতে পারবেন কোনটি আপনার কাজের জন্য উপযুক্ত, এবং তা থেকে সময় এবং তারিখের পার্থক্য বের করতে পারবেন।

Content added By

কিভাবে দুটি তারিখ বা সময়ের মধ্যে পার্থক্য নির্ণয় করবেন?

163

Java.time Package এর মাধ্যমে দুটি তারিখ বা সময়ের মধ্যে পার্থক্য নির্ণয় করার জন্য Duration এবং Period ক্লাস ব্যবহার করা হয়। এগুলি মূলত তারিখ এবং সময়ের মধ্যে পার্থক্য নির্ণয় করতে সহায়ক।

1. Duration ক্লাস:

Duration ক্লাসটি সময়ের (Time-based) পার্থক্য নির্ণয় করতে ব্যবহৃত হয়, যেমন ঘণ্টা, মিনিট, সেকেন্ড, এবং মিলিসেকেন্ড। এটি সাধারণত LocalTime, LocalDateTime, ZonedDateTime এর মধ্যে পার্থক্য বের করতে ব্যবহৃত হয়।

2. Period ক্লাস:

Period ক্লাসটি তারিখের (Date-based) পার্থক্য নির্ণয় করতে ব্যবহৃত হয়, যেমন বছর, মাস, দিন। এটি সাধারণত LocalDate এর মধ্যে পার্থক্য বের করতে ব্যবহৃত হয়।

দুটি তারিখ বা সময়ের মধ্যে পার্থক্য নির্ণয় করার উদাহরণ:

2.1 সময়ের পার্থক্য নির্ণয়: (Duration Class)

ধরা যাক, আমাদের দুটি LocalTime অবজেক্ট আছে এবং আমরা তাদের মধ্যে সময়ের পার্থক্য বের করতে চাই:

import java.time.*;

public class DurationExample {
    public static void main(String[] args) {
        // Create two LocalTime objects
        LocalTime startTime = LocalTime.of(8, 30);  // 08:30
        LocalTime endTime = LocalTime.of(14, 45);   // 14:45
        
        // Calculate the duration between the two times
        Duration duration = Duration.between(startTime, endTime);
        
        // Print the difference in hours and minutes
        System.out.println("Duration: " + duration.toHours() + " hours " + duration.toMinutes() % 60 + " minutes");
    }
}

আউটপুট:

Duration: 6 hours 15 minutes

ব্যাখ্যা:

  • Duration.between(startTime, endTime): এটি startTime এবং endTime এর মধ্যে সময়ের পার্থক্য বের করে এবং Duration অবজেক্ট ফিরিয়ে দেয়।
  • duration.toHours(): এটি মোট ঘণ্টা বের করে।
  • duration.toMinutes() % 60: এটি মিনিটের পার্থক্য বের করে।

2.2 তারিখের পার্থক্য নির্ণয়: (Period Class)

ধরা যাক, আমাদের দুটি LocalDate অবজেক্ট আছে এবং আমরা তাদের মধ্যে তারিখের পার্থক্য বের করতে চাই:

import java.time.*;

public class PeriodExample {
    public static void main(String[] args) {
        // Create two LocalDate objects
        LocalDate startDate = LocalDate.of(2024, 1, 1);  // 1st January 2024
        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 difference in years, months, and days
        System.out.println("Period: " + period.getYears() + " years, " + period.getMonths() + " months, " + period.getDays() + " days");
    }
}

আউটপুট:

Period: 0 years, 11 months, 30 days

ব্যাখ্যা:

  • Period.between(startDate, endDate): এটি startDate এবং endDate এর মধ্যে তারিখের পার্থক্য বের করে এবং Period অবজেক্ট ফিরিয়ে দেয়।
  • period.getYears(): এটি বছরগুলোর পার্থক্য বের করে।
  • period.getMonths(): এটি মাসগুলোর পার্থক্য বের করে।
  • period.getDays(): এটি দিনের পার্থক্য বের করে।

3. LocalDateTime এর মধ্যে পার্থক্য নির্ণয়: (Duration and Period)

LocalDateTime অবজেক্টের মধ্যে পার্থক্য নির্ণয় করার জন্য Duration এবং Period উভয়ই ব্যবহার করা যেতে পারে। যেহেতু LocalDateTime সময় এবং তারিখ উভয়কেই ধারণ করে, সুতরাং আপনি যেভাবে সময়ের পার্থক্য বের করেছেন, ঠিক সেভাবেই তারিখের পার্থক্যও বের করতে পারবেন।

LocalDateTime Example:

import java.time.*;

public class LocalDateTimeDifferenceExample {
    public static void main(String[] args) {
        // Create two LocalDateTime objects
        LocalDateTime startDateTime = LocalDateTime.of(2024, 1, 1, 10, 30);  // 1st January 2024, 10:30
        LocalDateTime endDateTime = LocalDateTime.of(2024, 12, 31, 14, 45);  // 31st December 2024, 14:45
        
        // Calculate the duration between the two LocalDateTime objects
        Duration duration = Duration.between(startDateTime, endDateTime);
        
        // Print the difference in days, hours, and minutes
        System.out.println("Duration: " + duration.toDays() + " days, " + duration.toHours() % 24 + " hours, " + duration.toMinutes() % 60 + " minutes");
    }
}

আউটপুট:

Duration: 364 days, 4 hours, 15 minutes

ব্যাখ্যা:

  • Duration.between(startDateTime, endDateTime): এটি LocalDateTime এর মধ্যে সময়ের পার্থক্য বের করে এবং Duration ফেরত দেয়।
  • duration.toDays(): এটি দিনের পার্থক্য বের করে।
  • duration.toHours() % 24: এটি ঘণ্টার পার্থক্য বের করে।
  • duration.toMinutes() % 60: এটি মিনিটের পার্থক্য বের করে।

4. ZonedDateTime এর মধ্যে পার্থক্য নির্ণয়:

ZonedDateTime ক্লাস ব্যবহার করে আপনি টাইমজোন সহ তারিখ এবং সময়ের পার্থক্য বের করতে পারেন।

import java.time.*;

public class ZonedDateTimeExample {
    public static void main(String[] args) {
        // Create two ZonedDateTime objects
        ZonedDateTime startZonedDateTime = ZonedDateTime.of(2024, 1, 1, 10, 30, 0, 0, ZoneId.of("America/New_York"));
        ZonedDateTime endZonedDateTime = ZonedDateTime.of(2024, 12, 31, 14, 45, 0, 0, ZoneId.of("Europe/London"));
        
        // Calculate the duration between the two ZonedDateTime objects
        Duration duration = Duration.between(startZonedDateTime, endZonedDateTime);
        
        // Print the difference in days, hours, and minutes
        System.out.println("Duration: " + duration.toDays() + " days, " + duration.toHours() % 24 + " hours, " + duration.toMinutes() % 60 + " minutes");
    }
}

আউটপুট:

Duration: 364 days, 5 hours, 15 minutes

ব্যাখ্যা:

  • Duration.between(startZonedDateTime, endZonedDateTime): এটি ZonedDateTime অবজেক্টগুলোর মধ্যে সময়ের পার্থক্য বের করে।
  • এটি ZonedDateTime এ টাইমজোনের পার্থক্যও স্বাভাবিকভাবে পরিচালনা করে।

  • Duration এবং Period ক্লাসের মাধ্যমে আপনি সময়ের এবং তারিখের পার্থক্য বের করতে পারেন।
  • Duration ব্যবহার করে সময় (ঘণ্টা, মিনিট, সেকেন্ড) এর পার্থক্য বের করা হয়, এবং Period ব্যবহার করে তারিখ (বছর, মাস, দিন) এর পার্থক্য বের করা হয়।
  • ZonedDateTime এবং LocalDateTime এর মধ্যে পার্থক্য বের করতে এই ক্লাসগুলি অত্যন্ত কার্যকরী, এবং এগুলি টাইমজোন সম্পর্কিত তথ্যও ঠিকভাবে হ্যান্ডেল করে।

Java.time প্যাকেজের এই ক্লাসগুলোর মাধ্যমে আপনি তারিখ ও সময়ের মধ্যে পার্থক্য নির্ণয় করে আপনার অ্যাপ্লিকেশনকে আরো কার্যকরী এবং দক্ষভাবে পরিচালনা করতে পারবেন।

Content added By

Period এবং Duration এর উদাহরণ এবং মেথড (getYears, getDays, toHours)

169

Java.time প্যাকেজ এর Period এবং Duration ক্লাস দুটি গুরুত্বপূর্ণ ক্লাস, যা সময়ের পার্থক্য নির্ধারণ করতে ব্যবহৃত হয়। এগুলি LocalDate এবং LocalDateTime এর মধ্যে পার্থক্য হিসাব করতে সাহায্য করে।

  • Period: এটি তারিখের পার্থক্য (যেমন বছর, মাস, দিন) বের করতে ব্যবহৃত হয়। এটি LocalDate এর মধ্যে পার্থক্য বের করার জন্য ব্যবহৃত হয়।
  • Duration: এটি সময় (ঘণ্টা, মিনিট, সেকেন্ড) এর পার্থক্য হিসাব করতে ব্যবহৃত হয়। এটি LocalTime বা LocalDateTime এর মধ্যে পার্থক্য বের করার জন্য ব্যবহৃত হয়।

1. Period ক্লাস:

Period ক্লাসটি তারিখের পার্থক্য (যেমন বছর, মাস, দিন) বের করার জন্য ব্যবহৃত হয়। এটি LocalDate এর মধ্যে পার্থক্য বের করতে পারে।

Period এর উদাহরণ:

import java.time.LocalDate;
import java.time.Period;

public class PeriodExample {
    public static void main(String[] args) {
        // Creating two LocalDate objects
        LocalDate startDate = LocalDate.of(2020, 1, 1);  // Start Date: 1st January 2020
        LocalDate endDate = LocalDate.of(2024, 12, 31);  // End Date: 31st December 2024
        
        // Calculate the period between two dates
        Period period = Period.between(startDate, endDate);
        
        // Get years, months, and days from the period
        System.out.println("Period: " + period.getYears() + " years, " + period.getMonths() + " months, " + period.getDays() + " days");
    }
}

আউটপুট:

Period: 4 years, 11 months, 30 days

ব্যাখ্যা:

  • Period.between(startDate, endDate): এটি দুটি LocalDate অবজেক্টের মধ্যে পার্থক্য বের করে। এতে getYears(), getMonths(), এবং getDays() মেথড ব্যবহার করে সময়ের পার্থক্য পেতে পারি।

2. Duration ক্লাস:

Duration ক্লাসটি সময় (ঘণ্টা, মিনিট, সেকেন্ড) এর পার্থক্য হিসাব করতে ব্যবহৃত হয় এবং এটি LocalTime বা LocalDateTime এর মধ্যে পার্থক্য বের করতে ব্যবহার করা হয়।

Duration এর উদাহরণ:

import java.time.Duration;
import java.time.LocalDateTime;

public class DurationExample {
    public static void main(String[] args) {
        // Creating two LocalDateTime objects
        LocalDateTime startDateTime = LocalDateTime.of(2024, 12, 23, 10, 0);  // Start DateTime: 23rd December 2024, 10:00 AM
        LocalDateTime endDateTime = LocalDateTime.of(2024, 12, 23, 14, 30);    // End DateTime: 23rd December 2024, 2:30 PM
        
        // Calculate the duration between two LocalDateTime objects
        Duration duration = Duration.between(startDateTime, endDateTime);
        
        // Get hours and minutes from the duration
        System.out.println("Duration: " + duration.toHours() + " hours " + duration.toMinutes() % 60 + " minutes");
    }
}

আউটপুট:

Duration: 4 hours 30 minutes

ব্যাখ্যা:

  • Duration.between(startDateTime, endDateTime): এটি দুটি LocalDateTime এর মধ্যে পার্থক্য বের করে এবং সেই পার্থক্যকে Duration অবজেক্ট হিসেবে ফেরত দেয়।
  • toHours() এবং toMinutes() মেথড ব্যবহার করে আমরা সময়ের পার্থক্য ঘণ্টা এবং মিনিটে বের করেছি।

Duration ক্লাসের গুরুত্বপূর্ণ মেথড:

  1. toHours(): এটি Duration অবজেক্টের সময়ের পার্থক্য ঘণ্টায় ফেরত দেয়।
  2. toMinutes(): এটি Duration অবজেক্টের সময়ের পার্থক্য মিনিটে ফেরত দেয়।
  3. toDays(): এটি Duration অবজেক্টের সময়ের পার্থক্য দিনে ফেরত দেয়।

Period এবং Duration এর মধ্যে পার্থক্য:

  • Period: এটি তারিখের পার্থক্য বের করতে ব্যবহৃত হয় (যেমন বছর, মাস, দিন)।
  • Duration: এটি সময়ের পার্থক্য (ঘণ্টা, মিনিট, সেকেন্ড) বের করতে ব্যবহৃত হয়।

উদাহরণ:

  • আপনি যদি LocalDate এর মধ্যে পার্থক্য বের করতে চান, তবে Period ব্যবহার করবেন।
  • আপনি যদি LocalTime বা LocalDateTime এর মধ্যে পার্থক্য বের করতে চান, তবে Duration ব্যবহার করবেন।

  • Period এবং Duration ক্লাসগুলি java.time প্যাকেজের গুরুত্বপূর্ণ অংশ যা তারিখ এবং সময়ের পার্থক্য বের করার জন্য ব্যবহৃত হয়।
  • Period তারিখের পার্থক্য (যেমন বছর, মাস, দিন) বের করার জন্য ব্যবহার করা হয়, এবং Duration সময়ের পার্থক্য (ঘণ্টা, মিনিট, সেকেন্ড) বের করার জন্য ব্যবহৃত হয়।
  • Duration এবং Period উভয়েই খুবই সহজ এবং কার্যকরী উপায়ে তারিখ এবং সময়ের পার্থক্য নির্ধারণ করতে সাহায্য করে, যা জাভার পুরনো Date এবং Calendar API থেকে অনেক বেশি শক্তিশালী এবং পরিষ্কার।
Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...