Clock এর মাধ্যমে Time Zone সমর্থিত সময় দেখা

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

305

Clock ক্লাসটি java.time প্যাকেজের একটি অংশ যা বর্তমান সময় এবং তারিখের জন্য একটি নির্ভরযোগ্য উৎস প্রদান করে। এটি ZoneId ব্যবহার করে সময় অঞ্চল সমর্থিত সময় প্রদান করতে সক্ষম। Clock মূলত Instant প্রদান করে, যা UTC সময়ের নির্দিষ্ট মুহূর্ত (epoch time) হিসেবে কাজ করে, তবে আপনি এটি ZonedDateTime এর মাধ্যমে নির্দিষ্ট কোনো time zone এর জন্য ব্যবহার করতে পারেন।

Clock ব্যবহার করে Time Zone সমর্থিত সময় দেখার উদাহরণ:

এখানে আমরা Clock ক্লাস ব্যবহার করে নির্দিষ্ট time zone এর সময় দেখব।

1. Clock ব্যবহার করে UTC এবং Time Zone এর সময় দেখুন:

import java.time.*;

public class ClockExample {
    public static void main(String[] args) {
        // Get the current time in UTC using Clock
        Clock clock = Clock.systemUTC();
        Instant instant = clock.instant();
        System.out.println("Current UTC Time: " + instant);

        // Convert the UTC time to ZonedDateTime with a specific time zone (e.g., New York)
        ZonedDateTime newYorkTime = instant.atZone(ZoneId.of("America/New_York"));
        System.out.println("Current Time in New York: " + newYorkTime);

        // Convert the UTC time to ZonedDateTime with another time zone (e.g., Tokyo)
        ZonedDateTime tokyoTime = instant.atZone(ZoneId.of("Asia/Tokyo"));
        System.out.println("Current Time in Tokyo: " + tokyoTime);

        // Using Clock for a specific time zone (e.g., London)
        Clock londonClock = Clock.system(ZoneId.of("Europe/London"));
        Instant londonInstant = londonClock.instant();
        ZonedDateTime londonTime = londonInstant.atZone(ZoneId.of("Europe/London"));
        System.out.println("Current Time in London: " + londonTime);
    }
}

ব্যাখ্যা:

  1. Clock.systemUTC(): এটি UTC সময়ের একটি নির্ভরযোগ্য Clock প্রদান করে।
  2. Clock.system(ZoneId zone): এটি নির্দিষ্ট কোনো সময় অঞ্চলের জন্য Clock প্রদান করে। যেমন ZoneId.of("Europe/London") সময় অঞ্চলের জন্য।
  3. instant.atZone(ZoneId zone): এটি UTC সময়কে নির্দিষ্ট সময় অঞ্চলের সময়ের সাথে কনভার্ট করে।

আউটপুট:

Current UTC Time: 2024-12-23T09:40:00Z
Current Time in New York: 2024-12-23T04:40:00-05:00[America/New_York]
Current Time in Tokyo: 2024-12-23T18:40:00+09:00[Asia/Tokyo]
Current Time in London: 2024-12-23T09:40:00Z[Europe/London]

2. Clock এর মাধ্যমে বর্তমান সময় দেখুন এবং বিভিন্ন সময় অঞ্চলে দেখান:

import java.time.*;

public class ClockTimeZoneExample {
    public static void main(String[] args) {
        // Current time in UTC
        Clock clock = Clock.systemUTC();
        Instant currentInstant = clock.instant();
        System.out.println("Current UTC Time: " + currentInstant);

        // Convert to a specific time zone (London)
        ZonedDateTime londonTime = currentInstant.atZone(ZoneId.of("Europe/London"));
        System.out.println("Current Time in London: " + londonTime);

        // Convert to a specific time zone (Tokyo)
        ZonedDateTime tokyoTime = currentInstant.atZone(ZoneId.of("Asia/Tokyo"));
        System.out.println("Current Time in Tokyo: " + tokyoTime);

        // Convert to a specific time zone (New York)
        ZonedDateTime newYorkTime = currentInstant.atZone(ZoneId.of("America/New_York"));
        System.out.println("Current Time in New York: " + newYorkTime);
    }
}

ব্যাখ্যা:

  • Clock.systemUTC(): UTC সময়ের জন্য একটি ক্লক অবজেক্ট।
  • ZonedDateTime: Instant কে নির্দিষ্ট time zone এ কনভার্ট করার জন্য ব্যবহৃত হয়।

আউটপুট উদাহরণ:

Current UTC Time: 2024-12-23T09:40:00Z
Current Time in London: 2024-12-23T09:40:00Z[Europe/London]
Current Time in Tokyo: 2024-12-23T18:40:00+09:00[Asia/Tokyo]
Current Time in New York: 2024-12-23T04:40:00-05:00[America/New_York]

Clock ক্লাসের অন্যান্য ব্যবহার:

  1. Clock.systemDefaultZone(): সিস্টেম ডিফল্ট টাইম জোনের জন্য একটি ক্লক তৈরি করতে ব্যবহৃত হয়।

    Clock defaultClock = Clock.systemDefaultZone();
    Instant instantDefault = defaultClock.instant();
    
  2. Clock.fixed(): একটি নির্দিষ্ট Instant (যেমন একটি নির্দিষ্ট সময়) প্রদান করে একটি ফিক্সড ক্লক তৈরি করা যেতে পারে।

    Instant fixedInstant = Instant.parse("2024-12-23T10:00:00Z");
    Clock fixedClock = Clock.fixed(fixedInstant, ZoneId.of("America/New_York"));
    
  3. Clock.offset(): একটি নির্দিষ্ট ক্লকের সাথে offset যোগ করে নতুন ক্লক তৈরি করা যেতে পারে।

    Clock clockWithOffset = Clock.offset(Clock.systemUTC(), Duration.ofHours(5));
    Instant instantWithOffset = clockWithOffset.instant();
    
  • Clock ক্লাসের মাধ্যমে আপনি সহজে time zone এর সময় পেতে পারেন, UTC থেকে স্থানীয় সময় অঞ্চলে কনভার্ট করতে পারেন এবং তারিখ ও সময়ের সাথে সম্পর্কিত বিভিন্ন কাজ সম্পাদন করতে পারেন।
  • Clock ক্লাসটি Instant অবজেক্টের সাথে কাজ করে, যা UTC সময় নির্দেশ করে এবং সময় অঞ্চলের সাথে সম্পর্কিত হিসাব করতে ZonedDateTime ব্যবহার করা হয়।
Content added By
Promotion

Are you sure to start over?

Loading...