Java Technologies উদাহরণ সহ Integration Techniques গাইড ও নোট

298

Java Time Package (java.time প্যাকেজ) হল Java 8 এর একটি শক্তিশালী date and time API, যা java.util.Date, java.util.Calendar, এবং java.lang প্যাকেজের ক্লাসের তুলনায় অনেক বেশি নির্ভুল, সহজ এবং শক্তিশালী। তবে, এটি এককভাবে কাজ করার জন্য ডিজাইন করা হয়নি; এটি অন্যান্য Java প্যাকেজ এর সাথে ইন্টিগ্রেটেড হয়ে কাজ করতে পারে।

এখানে আমরা আলোচনা করবো java.time প্যাকেজ এবং অন্যান্য প্যাকেজ (যেমন java.util, java.lang) এর মধ্যে ইন্টিগ্রেশন টেকনিক্স নিয়ে কিছু উদাহরণ। আমরা দেখবো কীভাবে java.util.Date, java.util.Calendar, এবং java.lang প্যাকেজের ক্লাসগুলির সাথে java.time এর ক্লাসগুলোকে ইন্টিগ্রেটেড ব্যবহার করা যায়।

1. java.time এবং java.util.Date এর মধ্যে ইন্টিগ্রেশন

java.util.Date একটি পুরানো API ক্লাস, যা java.time এর সাথে ইন্টিগ্রেট করা যেতে পারে। এখানে, আমরা java.util.Date কে LocalDateTime বা Instant তে রূপান্তর এবং উল্টো কাজ দেখাবো।

Example 1: java.util.Date to LocalDateTime

import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Date;

public class DateToLocalDateTime {
    public static void main(String[] args) {
        // Create a java.util.Date object
        Date date = new Date();

        // Convert java.util.Date to LocalDateTime
        LocalDateTime localDateTime = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();

        System.out.println("java.util.Date: " + date);
        System.out.println("Converted LocalDateTime: " + localDateTime);
    }
}

Output:

java.util.Date: Fri Dec 23 17:30:00 IST 2024
Converted LocalDateTime: 2024-12-23T17:30:00.123

ব্যাখ্যা:

  • date.toInstant(): এটি java.util.Date কে Instant তে রূপান্তরিত করে।
  • atZone(ZoneId.systemDefault()): এটি স্থানীয় সময় অঞ্চলের সাথে Instant কে ZonedDateTime এ রূপান্তর করে।
  • toLocalDateTime(): এটি ZonedDateTime থেকে LocalDateTime এ রূপান্তর করে।

2. java.time এবং java.util.Calendar এর মধ্যে ইন্টিগ্রেশন

java.util.Calendar এবং java.time.LocalDateTime বা ZonedDateTime এর মধ্যে রূপান্তর করা যেতে পারে। আমরা এখানে দেখবো Calendar কে LocalDateTime তে রূপান্তর এবং উল্টো কাজ।

Example 2: java.util.Calendar to LocalDateTime

import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Calendar;

public class CalendarToLocalDateTime {
    public static void main(String[] args) {
        // Create a java.util.Calendar object
        Calendar calendar = Calendar.getInstance();

        // Convert java.util.Calendar to LocalDateTime
        LocalDateTime localDateTime = calendar.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();

        System.out.println("java.util.Calendar: " + calendar.getTime());
        System.out.println("Converted LocalDateTime: " + localDateTime);
    }
}

Output:

java.util.Calendar: Fri Dec 23 17:30:00 IST 2024
Converted LocalDateTime: 2024-12-23T17:30:00.123

ব্যাখ্যা:

  • calendar.toInstant(): এটি Calendar কে Instant তে রূপান্তরিত করে।
  • atZone(ZoneId.systemDefault()): এটি স্থানীয় সময় অঞ্চলের সাথে Instant কে ZonedDateTime এ রূপান্তর করে।
  • toLocalDateTime(): এটি ZonedDateTime থেকে LocalDateTime এ রূপান্তর করে।

3. java.time এবং java.lang এর মধ্যে ইন্টিগ্রেশন

java.lang প্যাকেজে System.currentTimeMillis() এবং Thread.sleep() এর মাধ্যমে java.time.Instant বা LocalDateTime এর সাথে ইন্টিগ্রেট করা যেতে পারে।

Example 3: System.currentTimeMillis() to Instant

import java.time.Instant;

public class CurrentTimeMillisToInstant {
    public static void main(String[] args) {
        // Get the current time in milliseconds from epoch
        long currentTimeMillis = System.currentTimeMillis();

        // Convert current time in milliseconds to Instant
        Instant instant = Instant.ofEpochMilli(currentTimeMillis);

        System.out.println("Current Time in milliseconds: " + currentTimeMillis);
        System.out.println("Converted Instant: " + instant);
    }
}

Output:

Current Time in milliseconds: 1630283136700
Converted Instant: 2024-12-23T17:30:36.700Z

ব্যাখ্যা:

  • System.currentTimeMillis(): এটি মিলিসেকেন্ডে বর্তমান সময় ফেরত দেয়।
  • Instant.ofEpochMilli(currentTimeMillis): এটি মিলিসেকেন্ডে বর্তমান সময়কে Instant তে রূপান্তর করে।

4. java.time এবং Thread.sleep() এর মধ্যে ইন্টিগ্রেশন

Thread.sleep() পদ্ধতিটি থ্রেডকে কিছু সময়ের জন্য বিরত রাখার জন্য ব্যবহৃত হয়। আপনি java.time.Duration ব্যবহার করে নির্দিষ্ট সময়ের জন্য থ্রেডকে বিরত রাখতে পারেন।

Example 4: Duration with Thread.sleep()

import java.time.Duration;

public class DurationWithSleepExample {
    public static void main(String[] args) throws InterruptedException {
        // Define a Duration of 5 seconds
        Duration duration = Duration.ofSeconds(5);

        System.out.println("Sleeping for " + duration.getSeconds() + " seconds.");
        
        // Sleep for the defined duration
        Thread.sleep(duration.toMillis());  // Convert Duration to milliseconds
        System.out.println("Woke up after " + duration.getSeconds() + " seconds.");
    }
}

Output:

Sleeping for 5 seconds.
Woke up after 5 seconds.

ব্যাখ্যা:

  • Duration.ofSeconds(5): এটি ৫ সেকেন্ডের জন্য একটি Duration অবজেক্ট তৈরি করে।
  • Thread.sleep(duration.toMillis()): এটি ৫ সেকেন্ডের জন্য থ্রেডকে বিরত রাখে, toMillis() মেথডটি Duration কে মিলিসেকেন্ডে রূপান্তরিত করে।

  • java.time প্যাকেজটি java.util এবং java.lang প্যাকেজের সাথে ইন্টিগ্রেটেড হয়ে কাজ করতে পারে এবং এই ইন্টিগ্রেশন দ্বারা সঠিক সময় এবং তারিখ সম্পর্কিত কার্যক্রম সম্পাদন করা সম্ভব।
  • java.util.Date এবং java.util.Calendar ক্লাসের সাথে java.time এর ক্লাসগুলোর রূপান্তর করা সহজ এবং কার্যকরী।
  • java.lang প্যাকেজের বিভিন্ন পদ্ধতি যেমন System.currentTimeMillis(), Thread.sleep(), ইত্যাদি java.time এর সাথে সংযুক্ত হয়ে আরও সঠিকভাবে সময় সম্পর্কিত কার্যক্রম পরিচালনা করতে সহায়ক।
Content added By
Promotion

Are you sure to start over?

Loading...