java.util.Date থেকে Instant এ রূপান্তর

Compatibility with Legacy Date/Time API - জাভা টাইম প্যাকেজ (Java.time Package) - Java Technologies

326

java.util.Date এবং java.time.Instant ক্লাস দুটি Java এর সময় সম্পর্কিত টুলস, কিন্তু এগুলোর মধ্যে কিছু পার্থক্য রয়েছে। java.util.Date ক্লাসটি পুরানো টাইম API এর অংশ, যা UTC (Coordinated Universal Time) থেকে সেকেন্ডে সময়ের একটি নির্দিষ্ট মুহূর্ত প্রতিনিধিত্ব করে, কিন্তু এটি মানবিক ভ্রান্তি এবং সময়সীমার পার্থক্য হিসাব করার ক্ষেত্রে নির্ভুল নয়। অপরদিকে, java.time.Instant ক্লাসটি Java 8 এর অংশ, যা java.time প্যাকেজের আওতায় আসে এবং এটি UTC সময়ের নির্দিষ্ট মুহূর্ত (epoch time) এক সেকেন্ডের নির্ভুলতা সহ প্রতিনিধিত্ব করে।

java.util.Date থেকে Instant এ রূপান্তর

Java 8 এ java.util.Date কে Instant-এ রূপান্তর করা সম্ভব, কারণ Date ক্লাসের মধ্যে একটি toInstant() মেথড রয়েছে যা পুরানো টাইম API কে Java Time API-এর সাথে ইন্টিগ্রেট করতে সাহায্য করে।

java.util.Date থেকে Instant এ রূপান্তর উদাহরণ:

import java.util.Date;
import java.time.Instant;

public class DateToInstantExample {
    public static void main(String[] args) {
        // Create a Date object (current time)
        Date currentDate = new Date();
        System.out.println("Current Date: " + currentDate);

        // Convert Date to Instant
        Instant instant = currentDate.toInstant();
        System.out.println("Converted Instant: " + instant);
    }
}

আউটপুট:

Current Date: Mon Dec 23 15:45:30 IST 2024
Converted Instant: 2024-12-23T10:15:30Z

ব্যাখ্যা:

  • Date currentDate = new Date();: এটি বর্তমান তারিখ এবং সময় একটি Date অবজেক্টে ধারণ করে।
  • toInstant() মেথডটি java.util.Date থেকে Instant এ রূপান্তর করে, যা UTC সময়ের নির্দিষ্ট মুহূর্ত প্রতিনিধিত্ব করে।

Date থেকে Instant এর মাধ্যমে সময় পরিবর্তন করা:

একটি Date অবজেক্টের Instant অবজেক্টে রূপান্তর করার পর, আপনি Instant এর ওপর বিভিন্ন কাজ যেমন যোগ-বিয়োগ, পার্থক্য বের করা ইত্যাদি করতে পারেন।

উদাহরণ: Instant এ যোগ-বিয়োগ করা

import java.util.Date;
import java.time.Instant;
import java.time.Duration;

public class DateToInstantExample {
    public static void main(String[] args) {
        // Create a Date object (current time)
        Date currentDate = new Date();
        System.out.println("Current Date: " + currentDate);

        // Convert Date to Instant
        Instant instant = currentDate.toInstant();
        System.out.println("Converted Instant: " + instant);

        // Add 1000 seconds to the Instant
        Instant newInstant = instant.plusSeconds(1000);
        System.out.println("New Instant (after adding 1000 seconds): " + newInstant);

        // Calculate the difference between the current Instant and the new Instant
        Duration duration = Duration.between(instant, newInstant);
        System.out.println("Difference in seconds: " + duration.getSeconds());
    }
}

আউটপুট:

Current Date: Mon Dec 23 15:45:30 IST 2024
Converted Instant: 2024-12-23T10:15:30Z
New Instant (after adding 1000 seconds): 2024-12-23T10:31:10Z
Difference in seconds: 1000

ব্যাখ্যা:

  • plusSeconds(1000): এখানে Instant অবজেক্টে 1000 সেকেন্ড যোগ করা হয়েছে, এবং নতুন Instant পাওয়া গেছে।
  • Duration.between(instant, newInstant): আমরা Instant অবজেক্টের মধ্যে সময়ের পার্থক্য বের করেছি এবং সেকেন্ডে সেটি মাপা হয়েছে।

Instant থেকে Date এ রূপান্তর:

একইভাবে, আপনি Instant কে java.util.Date এ রূপান্তর করতে পারেন:

import java.util.Date;
import java.time.Instant;

public class InstantToDateExample {
    public static void main(String[] args) {
        // Create an Instant object (current UTC time)
        Instant instant = Instant.now();
        System.out.println("Current Instant: " + instant);

        // Convert Instant to Date
        Date date = Date.from(instant);
        System.out.println("Converted Date: " + date);
    }
}

আউটপুট:

Current Instant: 2024-12-23T10:15:30Z
Converted Date: Mon Dec 23 15:15:30 IST 2024

ব্যাখ্যা:

  • Date.from(instant): এটি Instant থেকে একটি Date অবজেক্টে রূপান্তর করে।
  • java.util.Date থেকে Instant রূপান্তর করার জন্য toInstant() মেথড ব্যবহার করা হয়।
  • Instant হলো UTC (Coordinated Universal Time) সময়ের নির্দিষ্ট মুহূর্ত, যা সেকেন্ড এবং ন্যানোসেকেন্ড নির্ভুল হয়।
  • Instant কে Date বা অন্য যেকোনো java.time ক্লাসে রূপান্তর করা সহজ এবং এর মাধ্যমে আপনি সময় সম্পর্কিত গণনা (যেমন সময় যোগ বা বিয়োগ, পার্থক্য নির্ধারণ) করতে পারেন।

Java 8-এ java.time প্যাকেজটি টাইম API উন্নত করার জন্য প্রবর্তিত হয়েছিল, এবং এটি পুরানো java.util.Date ক্লাসের তুলনায় আরো নির্ভুল এবং শক্তিশালী।

Content added By
Promotion

Are you sure to start over?

Loading...