Clock এর মাধ্যমে বর্তমান সময় বা Instant পাওয়া

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

263

Java 8-এ java.time.Clock ক্লাসটি সময় সম্পর্কিত কাজের জন্য ব্যবহৃত হয়, বিশেষত যখন আপনি সিস্টেমের বর্তমান সময় বা Instant পেতে চান। এটি Instant, LocalDateTime, এবং ZonedDateTime এর মতো টাইম স্ট্যাম্প ব্যবহার করে সময়ের নির্দিষ্ট মুহূর্ত (instant) পাওয়া সম্ভব করে।

Clock ক্লাসের বৈশিষ্ট্য:

  • Clock সিস্টেমের ঘড়ি বা টাইমজোন নির্ধারণ করে এবং বর্তমান সময় (current time) পাওয়া সহজ করে তোলে।
  • এটি বিশেষভাবে পরীক্ষা এবং unit tests এ ব্যবহৃত হয়, যেখানে একটি নির্দিষ্ট সময় বা টাইমজোন ব্যবহার করতে হতে পারে, যাতে সিস্টেমের ঘড়ির উপর নির্ভর না করতে হয়।
  • Clock ক্লাস Instant, LocalDateTime, এবং ZonedDateTime অবজেক্টগুলো তৈরি করার জন্য ব্যবহৃত হতে পারে।

Clock এর মাধ্যমে বর্তমান সময় বা Instant পাওয়া:

Clock এর সাথে Instant পেতে:

Clock ব্যবহার করে সিস্টেমের বর্তমান সময় বা Instant পাওয়া যায়, যা 1970-01-01T00:00:00Z থেকে সেকেন্ড বা ন্যানোসেকেন্ড পরিমাপ করা হয়। Clock এর মাধ্যমে আপনি নির্দিষ্ট সময় অঞ্চল (timezone) বা সিস্টেমের সময় পেতে পারেন।

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

  1. Clock.systemUTC(): UTC (Coordinated Universal Time) সময়ের জন্য ক্লক তৈরি করে।
  2. Clock.systemDefaultZone(): সিস্টেমের ডিফল্ট টাইমজোন অনুযায়ী ক্লক তৈরি করে।
  3. Clock.system(ZoneId zone): নির্দিষ্ট টাইমজোন অনুযায়ী ক্লক তৈরি করে।
  4. instant(): বর্তমান Instant প্রদান করে।
  5. millis(): মিমি সেকেন্ডে বর্তমান সময় প্রদান করে।

Clock ব্যবহার করে Instant পাওয়া:

Instant হল একটি নির্দিষ্ট মুহূর্ত (timestamp) যা epoch time (1970-01-01T00:00:00Z) থেকে পরিমাপ করা হয়। Clock ক্লাসের instant() মেথড ব্যবহার করে এটি পাওয়া যায়।

Example: Using Clock to Get the Current Instant

import java.time.Clock;
import java.time.Instant;

public class ClockExample {
    public static void main(String[] args) {
        // Create a Clock instance for UTC
        Clock clock = Clock.systemUTC();

        // Get the current instant (timestamp)
        Instant now = clock.instant();

        // Print the current Instant
        System.out.println("Current Instant: " + now);
    }
}

আউটপুট:

Current Instant: 2024-12-23T12:30:45.123456Z

ব্যাখ্যা:

  • Clock.systemUTC() ব্যবহার করে আমরা UTC টাইমজোনের ক্লক তৈরি করেছি।
  • clock.instant() মেথডটি সিস্টেমের বর্তমান Instant প্রদান করে, যা epoch second থেকে পরিমাপ করা সময়।

Clock ব্যবহার করে ZonedDateTime পাওয়া:

ZonedDateTime টাইমজোনের সাথে সম্পর্কিত তারিখ এবং সময়ের অবজেক্ট। আপনি Clock এর মাধ্যমে ZonedDateTime পেতে পারেন, যা নির্দিষ্ট টাইমজোনের সময় প্রদান করবে।

Example: Using Clock to Get the Current ZonedDateTime

import java.time.Clock;
import java.time.ZoneId;
import java.time.ZonedDateTime;

public class ClockExample {
    public static void main(String[] args) {
        // Create a Clock instance for Asia/Kolkata time zone
        Clock clock = Clock.system(ZoneId.of("Asia/Kolkata"));

        // Get the current ZonedDateTime
        ZonedDateTime zonedDateTime = ZonedDateTime.now(clock);

        // Print the current ZonedDateTime
        System.out.println("Current ZonedDateTime: " + zonedDateTime);
    }
}

আউটপুট:

Current ZonedDateTime: 2024-12-23T18:00:45.123456+05:30[Asia/Kolkata]

ব্যাখ্যা:

  • Clock.system(ZoneId.of("Asia/Kolkata")) টাইমজোন হিসাবে Asia/Kolkata ব্যবহার করে ক্লক তৈরি করা হয়েছে।
  • ZonedDateTime.now(clock) ব্যবহার করে আমরা বর্তমান ZonedDateTime পেয়েছি, যা Asia/Kolkata টাইমজোনের সময় এবং তারিখ প্রদর্শন করে।

Clock ব্যবহার করে LocalDateTime পাওয়া:

LocalDateTime শুধুমাত্র তারিখ এবং সময় ধারণ করে এবং এটি টাইমজোন সম্পর্কিত নয়। আপনি Clock এর মাধ্যমে LocalDateTime পেতে পারেন, তবে এটি টাইমজোন ছাড়াই স্থানীয় সময় ধারণ করবে।

Example: Using Clock to Get the Current LocalDateTime

import java.time.Clock;
import java.time.LocalDateTime;

public class ClockExample {
    public static void main(String[] args) {
        // Create a Clock instance for the system default time zone
        Clock clock = Clock.systemDefaultZone();

        // Get the current LocalDateTime
        LocalDateTime localDateTime = LocalDateTime.now(clock);

        // Print the current LocalDateTime
        System.out.println("Current LocalDateTime: " + localDateTime);
    }
}

আউটপুট:

Current LocalDateTime: 2024-12-23T18:30:45.123456

ব্যাখ্যা:

  • Clock.systemDefaultZone() সিস্টেমের ডিফল্ট টাইমজোন অনুযায়ী ক্লক তৈরি করেছে।
  • LocalDateTime.now(clock) মেথডটি সিস্টেমের ডিফল্ট টাইমজোনের স্থানীয় সময় এবং তারিখ প্রদান করেছে।

Clock এবং Instant এর মধ্যে পার্থক্য:

FeatureClockInstant
UsageRepresents the current time in terms of Clock object for a specific time zone or system default zone.Represents a specific point in time (timestamp) in UTC (1970-01-01T00:00:00Z).
Time ZoneCan be associated with a specific time zone (e.g., Clock.system(ZoneId.of("Asia/Kolkata"))).Always represents time in UTC and does not have time zone info.
Use CaseUsed when you need a clock instance that reflects time in specific regions.Used when working with timestamps, often in a universal (UTC) context.

  • Clock ক্লাসের মাধ্যমে আপনি সিস্টেমের ঘড়ি বা টাইমজোন ভিত্তিক বর্তমান সময় এবং Instant পেতে পারেন।
  • Instant হল UTC টাইমস্ট্যাম্প, যা epoch second থেকে পরিমাপ করা সময়।
  • Clock ব্যবহার করে আপনি LocalDateTime, ZonedDateTime, এবং Instant এর মতো টাইম অবজেক্ট তৈরি করতে পারেন।
  • Clock.systemUTC(), Clock.systemDefaultZone(), এবং Clock.system(ZoneId zone) ব্যবহার করে আপনি সিস্টেম বা নির্দিষ্ট টাইমজোনের সময় পেতে পারেন।
Content added By
Promotion

Are you sure to start over?

Loading...