Java.time API এর DateTimeFormatter এবং Locale ব্যবহার

Date এবং Time এর Localization - জাভা ইন্টারন্যাশনালাইজেশন (Java Internalization) - Java Technologies

309

Java.time API Java 8 থেকে অন্তর্ভুক্ত করা হয়েছে, যা তারিখ এবং সময় সম্পর্কিত কার্যক্রম পরিচালনার জন্য একটি শক্তিশালী এবং নমনীয় পদ্ধতি প্রদান করে। ইন্টারন্যাশনালাইজেশন (i18n) এবং লোকালাইজেশন (l10n) এর জন্য, DateTimeFormatter এবং Locale ব্যবহার করে আমরা বিভিন্ন ভাষা এবং অঞ্চলের জন্য সঠিক তারিখ এবং সময়ের ফরম্যাটিং করতে পারি।

DateTimeFormatter:

DateTimeFormatter হল একটি ক্লাস যা java.time প্যাকেজে পাওয়া যায় এবং এটি LocalDate, LocalTime, LocalDateTime, ZonedDateTime ইত্যাদি টাইম-পার্ট অবজেক্টগুলির জন্য তারিখ এবং সময়ের ফরম্যাটিং এবং পার্সিং (parse) পরিচালনা করতে ব্যবহৃত হয়।

DateTimeFormatter এর মাধ্যমে আমরা সহজেই বিভিন্ন ধরনের তারিখ এবং সময় ফরম্যাট করতে পারি, যেমন:

  • yyyy-MM-dd (ISO 8601)
  • MM/dd/yyyy
  • dd-MM-yyyy
  • hh:mm:ss a (12-hour clock with AM/PM)

Locale:

Locale ক্লাসটি ব্যবহার করে আমরা ল্যাঙ্গুয়েজ, দেশ, ভাষা-দেশের কোড ইত্যাদি নির্বাচন করতে পারি। যখন আমরা তারিখ এবং সময়ের স্থানীয় ফরম্যাট করতে চাই, তখন Locale নির্ধারণ করে স্থানীয় কনভেনশন অনুযায়ী ফরম্যাট করা হয়।


DateTimeFormatter এবং Locale ব্যবহার করার জন্য উদাহরণ:

1. Locale নির্দিষ্ট করে তারিখ এবং সময় ফরম্যাট করা

import java.time.*;
import java.time.format.*;
import java.util.*;

public class DateTimeFormatterExample {
    public static void main(String[] args) {
        // বর্তমান তারিখ এবং সময়
        LocalDateTime now = LocalDateTime.now();
        
        // ইংরেজি (ইউএস) ফরম্যাটে তারিখ এবং সময় ফরম্যাট করা
        DateTimeFormatter usFormatter = DateTimeFormatter.ofPattern("MM/dd/yyyy HH:mm:ss", Locale.US);
        String usDateTime = now.format(usFormatter);
        System.out.println("US Date-Time: " + usDateTime);

        // ফরাসি (ফ্রান্স) ফরম্যাটে তারিখ এবং সময় ফরম্যাট করা
        DateTimeFormatter frFormatter = DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm:ss", Locale.FRANCE);
        String frDateTime = now.format(frFormatter);
        System.out.println("French Date-Time: " + frDateTime);
        
        // জাপানি (জাপান) ফরম্যাটে তারিখ এবং সময় ফরম্যাট করা
        DateTimeFormatter jpFormatter = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss", Locale.JAPAN);
        String jpDateTime = now.format(jpFormatter);
        System.out.println("Japanese Date-Time: " + jpDateTime);
    }
}

ব্যাখ্যা:

  • Locale.US, Locale.FRANCE, এবং Locale.JAPAN ব্যবহার করে আমরা বিভিন্ন দেশ এবং ভাষার জন্য তারিখ এবং সময় ফরম্যাট নির্ধারণ করেছি।
  • DateTimeFormatter.ofPattern() মেথডে Locale ব্যবহারের মাধ্যমে স্থানীয় কনভেনশনের অনুযায়ী ফরম্যাট করা হচ্ছে।

আউটপুট:

US Date-Time: 12/22/2024 16:45:30
French Date-Time: 22/12/2024 16:45:30
Japanese Date-Time: 2024/12/22 16:45:30

2. DateTimeFormatter ব্যবহার করে তারিখের ফরম্যাটিং এবং পার্সিং

import java.time.*;
import java.time.format.*;

public class DateTimeParseExample {
    public static void main(String[] args) {
        // তারিখ স্ট্রিং পার্স করা
        String dateStr = "2024-12-22 16:45:30";
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        
        // তারিখ এবং সময় স্ট্রিংকে LocalDateTime অবজেক্টে রূপান্তর করা
        LocalDateTime parsedDate = LocalDateTime.parse(dateStr, formatter);
        System.out.println("Parsed DateTime: " + parsedDate);
        
        // নতুন তারিখে কিছু পরিবর্তন করা
        LocalDateTime newDate = parsedDate.plusDays(1).plusHours(2);
        System.out.println("Modified DateTime: " + newDate);
    }
}

ব্যাখ্যা:

  • DateTimeFormatter.parse() মেথড ব্যবহার করে একটি তারিখ স্ট্রিংকে LocalDateTime অবজেক্টে রূপান্তর করা হয়েছে।
  • plusDays() এবং plusHours() মেথড ব্যবহার করে তারিখে কিছু পরিবর্তন করা হয়েছে।

আউটপুট:

Parsed DateTime: 2024-12-22T16:45:30
Modified DateTime: 2024-12-23T18:45:30

DateTimeFormatter এবং Locale এর আরও কিছু ব্যবহার:

3. Localization with DateTimeFormatter

import java.time.*;
import java.time.format.*;
import java.util.*;

public class DateTimeLocalizationExample {
    public static void main(String[] args) {
        // বর্তমান সময়
        LocalDateTime now = LocalDateTime.now();
        
        // বিভিন্ন ভাষার জন্য DateTimeFormatter
        DateTimeFormatter usFormatter = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.FULL).withLocale(Locale.US);
        DateTimeFormatter frFormatter = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.FULL).withLocale(Locale.FRANCE);

        // স্থানীয় সংস্করণে তারিখ এবং সময় প্রদর্শন
        System.out.println("US Date-Time: " + now.format(usFormatter));
        System.out.println("French Date-Time: " + now.format(frFormatter));
    }
}

ব্যাখ্যা:

  • এখানে FormatStyle.FULL ব্যবহার করে তারিখ এবং সময়ের পূর্ণ সংস্করণ US এবং France এর জন্য প্রিন্ট করা হয়েছে।
  • DateTimeFormatter.ofLocalizedDateTime() এবং withLocale() মেথড ব্যবহার করে স্থানীয় কনভেনশনের ভিত্তিতে তারিখ এবং সময় ফরম্যাট করা হয়েছে।

আউটপুট:

US Date-Time: Saturday, December 22, 2024 at 4:45:30 PM GMT+5:30
French Date-Time: samedi 22 décembre 2024 à 16:45:30 UTC+05:30

Summary:

  1. Java.time API এর DateTimeFormatter এবং Locale ক্লাসগুলি তারিখ এবং সময়ের localization এবং internationalization এর জন্য ব্যবহার করা হয়।
  2. DateTimeFormatter ক্লাসটি তারিখ এবং সময় ফরম্যাটিং এবং পার্সিং এর জন্য ব্যবহার করা হয় এবং Locale ব্যবহার করে country এবং language নির্ধারণ করা হয়।
  3. DateTimeFormatter ক্লাসটি বিভিন্ন patterns এবং locale-specific formats এর মাধ্যমে তারিখ এবং সময়ের স্থানীয় কনভেনশনের ভিত্তিতে ফরম্যাট করতে সহায়ক।

এটি DateTime এর স্থানীয়করণ (localization) এবং আন্তর্জাতিককরণের (internationalization) জন্য একটি গুরুত্বপূর্ণ টুল।

Content added By
Promotion

Are you sure to start over?

Loading...