জাভা টাইম API

অ্যাডভান্সড টপিকস - জাভা প্রোগ্রামিং (Java Programming) - Computer Programming

295

Java-তে টাইম API ব্যবহার করে তারিখ ও সময় নিয়ে কাজ করা আরও সহজ এবং কার্যকরী হয়েছে। Java 8 এ java.time প্যাকেজ যোগ করা হয়েছে, যা প্রোগ্রামারদের তারিখ ও সময় পরিচালনা করার জন্য উন্নত এবং কার্যকরী টুল প্রদান করে। এই API পূর্ববর্তী java.util.Date এবং java.util.Calendar ক্লাসের সমস্যাগুলোর সমাধান করে আরও নির্ভুল এবং সহজ কোডিং স্টাইল সরবরাহ করে।


Java Time API এর প্রধান উপাদানসমূহ

  1. LocalDate: কেবলমাত্র তারিখ ধরে রাখে (যেমন, 2023-10-31)।
  2. LocalTime: কেবলমাত্র সময় ধরে রাখে (যেমন, 12:30:45)।
  3. LocalDateTime: তারিখ এবং সময় উভয়ই ধরে রাখে (যেমন, 2023-10-31T12:30:45)।
  4. ZonedDateTime: টাইম জোন সহ তারিখ ও সময় ধরে রাখে।
  5. Period: দুই তারিখের মধ্যে সময়ের পার্থক্য নির্ধারণে ব্যবহৃত হয়।
  6. Duration: দুই সময়ের মধ্যে সময়ের পার্থক্য নির্ধারণে ব্যবহৃত হয়।
  7. Instant: নির্দিষ্ট মুহূর্তের সময় সংরক্ষণ করে (Unix Epoch থেকে নির্ধারিত)।

LocalDate ব্যবহার

LocalDate শুধুমাত্র তারিখ ধরে রাখতে সক্ষম, সময় নয়। এটি ব্যবহার করে তারিখ নিয়ে বিভিন্ন কাজ করা যায় যেমন বর্তমান তারিখ পাওয়া, তারিখ যোগ বা বিয়োগ করা ইত্যাদি।

import java.time.LocalDate;

public class LocalDateExample {
    public static void main(String[] args) {
        LocalDate today = LocalDate.now(); // বর্তমান তারিখ পাওয়া
        System.out.println("Today: " + today);

        LocalDate specificDate = LocalDate.of(2023, 10, 31); // নির্দিষ্ট তারিখ সেট করা
        System.out.println("Specific Date: " + specificDate);

        LocalDate nextWeek = today.plusWeeks(1); // পরবর্তী সপ্তাহের তারিখ
        System.out.println("Next Week: " + nextWeek);
    }
}

LocalTime ব্যবহার

LocalTime শুধুমাত্র সময় ধরে রাখতে সক্ষম। এটি ব্যবহার করে বর্তমান সময়, নির্দিষ্ট সময় সেট করা এবং সময় যোগ বা বিয়োগ করা যায়।

import java.time.LocalTime;

public class LocalTimeExample {
    public static void main(String[] args) {
        LocalTime now = LocalTime.now(); // বর্তমান সময়
        System.out.println("Current Time: " + now);

        LocalTime specificTime = LocalTime.of(12, 30, 45); // নির্দিষ্ট সময় সেট করা
        System.out.println("Specific Time: " + specificTime);

        LocalTime inTwoHours = now.plusHours(2); // ২ ঘণ্টা পরে
        System.out.println("In Two Hours: " + inTwoHours);
    }
}

LocalDateTime ব্যবহার

LocalDateTime একই সাথে তারিখ এবং সময় ধরে রাখতে সক্ষম। এটি ব্যবহার করে একটি নির্দিষ্ট মুহূর্তের সময় সংরক্ষণ করা যায়।

import java.time.LocalDateTime;

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

        LocalDateTime meeting = LocalDateTime.of(2023, 10, 31, 14, 30); // নির্দিষ্ট তারিখ ও সময়
        System.out.println("Meeting Time: " + meeting);

        LocalDateTime tomorrow = now.plusDays(1); // আগামীকালের সময়
        System.out.println("Tomorrow: " + tomorrow);
    }
}

ZonedDateTime ব্যবহার

ZonedDateTime তারিখ এবং সময়ের সাথে টাইম জোন সংরক্ষণ করে। এটি আন্তর্জাতিক সময় অঞ্চল ভিত্তিক কাজ করার জন্য ব্যবহার করা হয়।

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

public class ZonedDateTimeExample {
    public static void main(String[] args) {
        ZonedDateTime now = ZonedDateTime.now(); // বর্তমান সময় এবং টাইম জোন
        System.out.println("Current Date and Time with Zone: " + now);

        ZonedDateTime tokyoTime = ZonedDateTime.now(ZoneId.of("Asia/Tokyo")); // টোকিওর বর্তমান সময়
        System.out.println("Tokyo Time: " + tokyoTime);
    }
}

Period এবং Duration ব্যবহার

Period এবং Duration ব্যবহার করে তারিখ এবং সময়ের মধ্যে পার্থক্য বের করা যায়।

Period (দিন, মাস, এবং বছর পার্থক্য)

import java.time.LocalDate;
import java.time.Period;

public class PeriodExample {
    public static void main(String[] args) {
        LocalDate startDate = LocalDate.of(2022, 1, 1);
        LocalDate endDate = LocalDate.of(2023, 1, 1);

        Period period = Period.between(startDate, endDate); // দুই তারিখের মধ্যে পার্থক্য
        System.out.println("Years: " + period.getYears());
        System.out.println("Months: " + period.getMonths());
        System.out.println("Days: " + period.getDays());
    }
}

Duration (ঘণ্টা, মিনিট, এবং সেকেন্ড পার্থক্য)

import java.time.LocalTime;
import java.time.Duration;

public class DurationExample {
    public static void main(String[] args) {
        LocalTime startTime = LocalTime.of(10, 30);
        LocalTime endTime = LocalTime.of(12, 30);

        Duration duration = Duration.between(startTime, endTime); // দুই সময়ের মধ্যে পার্থক্য
        System.out.println("Hours: " + duration.toHours());
        System.out.println("Minutes: " + duration.toMinutes());
    }
}

Instant ব্যবহার

Instant নির্দিষ্ট মুহূর্তের সময় সংরক্ষণ করে, যা সাধারণত Epoch Time থেকে গণনা করা হয়।

import java.time.Instant;

public class InstantExample {
    public static void main(String[] args) {
        Instant now = Instant.now(); // বর্তমান মুহূর্তের সময়
        System.out.println("Current Instant: " + now);
    }
}

DateTimeFormatter ব্যবহার

DateTimeFormatter ব্যবহার করে তারিখ এবং সময়ের ফরম্যাট পরিবর্তন করা যায়। এটি কাস্টম ফরম্যাট তৈরিতে অত্যন্ত কার্যকরী।

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class DateTimeFormatterExample {
    public static void main(String[] args) {
        LocalDateTime now = LocalDateTime.now();

        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy HH:mm:ss");
        String formattedDateTime = now.format(formatter); // নির্দিষ্ট ফরম্যাটে তারিখ ও সময়
        System.out.println("Formatted DateTime: " + formattedDateTime);
    }
}

ব্যাখ্যা: এখানে DateTimeFormatter.ofPattern("dd-MM-yyyy HH:mm:ss") ব্যবহার করে dd-MM-yyyy HH:mm:ss ফরম্যাটে তারিখ এবং সময় ফরম্যাট করা হয়েছে।


সংক্ষেপে

Java Time API প্রোগ্রামারদের জন্য তারিখ ও সময় নিয়ে কাজ করা আরও সহজ এবং কার্যকরী করেছে। LocalDate, LocalTime, LocalDateTime, ZonedDateTime এর মতো ক্লাসগুলো বিভিন্ন সময় অপারেশন পরিচালনা করতে সহায়ক। Period এবং Duration ব্যবহার করে তারিখ এবং সময়ের পার্থক্য নির্ধারণ করা যায় এবং DateTimeFormatter দিয়ে সময় ফরম্যাটিং করা যায়। এগুলি Java অ্যাপ্লিকেশনকে আরও নির্ভুল এবং ব্যবহারে সহজ করে তোলে।

Content added By
Promotion

Are you sure to start over?

Loading...