LocalDateTime এর ধারণা

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

290

LocalDateTime হল java.time প্যাকেজের একটি ক্লাস, যা তারিখ এবং সময়ের তথ্য একসাথে ধারণ করে। এটি LocalDate এবং LocalTime ক্লাসের একটি সংমিশ্রণ, যেখানে তারিখ (date) এবং সময় (time) উভয়েরই মান থাকে, তবে এতে টাইমজোন বা অঞ্চলভিত্তিক সময় (time zone) সম্পর্কিত কোনো তথ্য নেই।

এটি সাধারণত অঞ্চলভিত্তিক (timezone-independent) তারিখ এবং সময়ের জন্য ব্যবহৃত হয়, যেখানে সময়ের একটি নির্দিষ্ট অঞ্চল বা টাইমজোন দরকার পড়ে না।

LocalDateTime ক্লাসের সুবিধা:

  1. Immutable: LocalDateTime হল একটি অপরিবর্তনীয় (immutable) ক্লাস, অর্থাৎ একবার তৈরি হলে এর মান পরিবর্তন করা যায় না।
  2. No Time Zone: এটি টাইমজোন সম্পর্কিত কোনো তথ্য ধারণ করে না, এবং সীমাহীন সময় বা লাভ-অফ-ডেট (clock) সম্পর্কিত তথ্য সঞ্চিত থাকে না।
  3. ISO-8601 Standard: LocalDateTime হল ISO-8601 তারিখ ও সময় ফরম্যাটের সাথে সামঞ্জস্যপূর্ণ।
  4. Easy Manipulation: LocalDateTime ক্লাসটি Fluent API প্রদান করে, যার মাধ্যমে আপনি সহজেই তারিখ এবং সময়ের উপর কাজ করতে পারবেন (যেমন দিন/মাস যোগ করা, সময় বিয়োগ করা ইত্যাদি)।
  5. No Time Zone: এটি টাইমজোনের সাথে সম্পর্কিত নয়, তাই এটি একাধিক অঞ্চলে ব্যবহার করতে সহজ।

LocalDateTime ক্লাসের প্রধান মেথড:

  1. now(): বর্তমান তারিখ এবং সময় ফেরত দেয়।
  2. of(int year, int month, int dayOfMonth, int hour, int minute): নির্দিষ্ট বছর, মাস, দিন, ঘণ্টা এবং মিনিট দ্বারা একটি LocalDateTime অবজেক্ট তৈরি করে।
  3. getYear(), getMonth(), getDayOfMonth(), getHour(), getMinute(): এই মেথডগুলি LocalDateTime অবজেক্টের বিভিন্ন অংশের মান ফেরত দেয়।
  4. plusDays(long daysToAdd), minusDays(long daysToSubtract): নির্দিষ্ট পরিমাণ দিন যোগ বা বিয়োগ করতে ব্যবহৃত হয়।
  5. plusHours(long hoursToAdd), minusHours(long hoursToSubtract): ঘণ্টা যোগ বা বিয়োগ করার জন্য ব্যবহৃত হয়।
  6. withYear(int year), withMonth(int month), withDayOfMonth(int dayOfMonth): এই মেথডগুলির মাধ্যমে তারিখের কোনো নির্দিষ্ট অংশ পরিবর্তন করা যায়।

LocalDateTime ক্লাসের উদাহরণ:

import java.time.LocalDateTime;

public class LocalDateTimeExample {
    public static void main(String[] args) {
        // বর্তমান তারিখ এবং সময়
        LocalDateTime currentDateTime = LocalDateTime.now();
        System.out.println("Current Date and Time: " + currentDateTime);

        // নির্দিষ্ট তারিখ এবং সময় তৈরি করা
        LocalDateTime specificDateTime = LocalDateTime.of(2024, 12, 25, 10, 30);
        System.out.println("Specific Date and Time: " + specificDateTime);

        // তারিখ এবং সময়ের বিভিন্ন অংশ বের করা
        System.out.println("Year: " + currentDateTime.getYear());
        System.out.println("Month: " + currentDateTime.getMonth());
        System.out.println("Day of Month: " + currentDateTime.getDayOfMonth());
        System.out.println("Hour: " + currentDateTime.getHour());
        System.out.println("Minute: " + currentDateTime.getMinute());

        // 5 দিন যোগ করা
        LocalDateTime futureDateTime = currentDateTime.plusDays(5);
        System.out.println("Date and Time after 5 days: " + futureDateTime);

        // 3 ঘণ্টা বিয়োগ করা
        LocalDateTime pastDateTime = currentDateTime.minusHours(3);
        System.out.println("Date and Time 3 hours ago: " + pastDateTime);
    }
}

ব্যাখ্যা:

  1. LocalDateTime.now(): এটি বর্তমান তারিখ এবং সময় ফিরিয়ে দেয়।
  2. LocalDateTime.of(): এটি নির্দিষ্ট তারিখ এবং সময় তৈরি করতে ব্যবহৃত হয়। এখানে আমরা 2024 সালের ১২ মাসের ২৫ তারিখ, ১০:৩০ AM সেট করেছি।
  3. getYear(), getMonth(), getDayOfMonth(): এই মেথডগুলি দিয়ে আমরা LocalDateTime এর বিভিন্ন অংশ (বছর, মাস, দিন) বের করেছি।
  4. plusDays(5): এখানে আমরা বর্তমান তারিখে ৫ দিন যোগ করেছি।
  5. minusHours(3): এখানে আমরা বর্তমান সময় থেকে ৩ ঘণ্টা বিয়োগ করেছি।

আউটপুট:

Current Date and Time: 2024-12-23T14:35:23.123
Specific Date and Time: 2024-12-25T10:30
Year: 2024
Month: DECEMBER
Day of Month: 23
Hour: 14
Minute: 35
Date and Time after 5 days: 2024-12-28T14:35:23.123
Date and Time 3 hours ago: 2024-12-23T11:35:23.123

LocalDateTime ক্লাসের আরও ব্যবহারের উদাহরণ:

1. Comparing LocalDateTime Objects:

LocalDateTime অবজেক্টের মধ্যে তুলনা করার জন্য isBefore(), isAfter(), এবং isEqual() মেথড ব্যবহার করা হয়।

import java.time.LocalDateTime;

public class LocalDateTimeComparison {
    public static void main(String[] args) {
        LocalDateTime dateTime1 = LocalDateTime.of(2024, 12, 25, 10, 30);
        LocalDateTime dateTime2 = LocalDateTime.of(2024, 12, 26, 10, 30);

        System.out.println("dateTime1 is before dateTime2: " + dateTime1.isBefore(dateTime2));
        System.out.println("dateTime1 is after dateTime2: " + dateTime1.isAfter(dateTime2));
        System.out.println("dateTime1 is equal to dateTime2: " + dateTime1.isEqual(dateTime2));
    }
}

আউটপুট:

dateTime1 is before dateTime2: true
dateTime1 is after dateTime2: false
dateTime1 is equal to dateTime2: false

2. Checking Leap Year (with LocalDateTime)

LocalDateTime ক্লাসের মাধ্যমে আপনি Leap Year চেক করতে পারবেন, তবে এতে শুধুমাত্র LocalDate ক্লাসের সহায়তা প্রযোজ্য।

import java.time.LocalDateTime;

public class LeapYearCheck {
    public static void main(String[] args) {
        LocalDateTime date = LocalDateTime.of(2024, 2, 29, 10, 30);
        boolean isLeapYear = date.toLocalDate().isLeapYear();
        System.out.println("Is 2024 a Leap Year? " + isLeapYear);
    }
}

আউটপুট:

Is 2024 a Leap Year? true

  • LocalDateTime ক্লাসটি java.time প্যাকেজের একটি গুরুত্বপূর্ণ ক্লাস, যা তারিখ এবং সময়সংক্রান্ত কাজ সহজ করে দেয়।
  • এটি immutable (অপরিবর্তনীয়) এবং টাইমজোন সম্পর্কিত কোন তথ্য ধারণ করে না।
  • LocalDateTime ব্যবহার করে date-time arithmetic, comparison, modification ইত্যাদি কাজ সহজে করা সম্ভব।
  • এর মাধ্যমে আপনি current date-time নিয়ে কাজ করতে পারেন, future/past dates যোগ বা বিয়োগ করতে পারেন, এবং বিভিন্ন date-time comparison করতে পারেন।

LocalDateTime আপনার প্রজেক্টে ISO 8601 ফরম্যাটে তারিখ এবং সময় ম্যানিপুলেট করার জন্য একটি অত্যন্ত শক্তিশালী এবং সুবিধাজনক টুল।

Content added By
Promotion

Are you sure to start over?

Loading...