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

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

399

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
Promotion

Are you sure to start over?

Loading...