উদাহরণ সহ DateTimeFormatter ব্যবহার

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

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

DateTimeFormatter একটি খুবই শক্তিশালী টুল যা আপনাকে ISO স্ট্যান্ডার্ড ছাড়াও আপনার নিজের প্রয়োজন অনুযায়ী কাস্টম তারিখ এবং সময় ফরম্যাট তৈরি করতে সহায়তা করে।

DateTimeFormatter ব্যবহার:

  1. DateTimeFormatter দিয়ে তারিখ ও সময় ফরম্যাট করা (Formatting Date and Time):
    • format() মেথড ব্যবহার করে আপনি একটি LocalDateTime অবজেক্টকে একটি নির্দিষ্ট ফরম্যাটে কনভার্ট করতে পারেন।
  2. DateTimeFormatter দিয়ে তারিখ ও সময় স্ট্রিং পার্স করা (Parsing Date and Time):
    • parse() মেথড ব্যবহার করে একটি ফরম্যাট করা স্ট্রিংকে একটি LocalDateTime বা অন্য কোনো java.time অবজেক্টে রূপান্তর করা যায়।

DateTimeFormatter উদাহরণ:

1. DateTimeFormatter দিয়ে তারিখ ও সময় ফরম্যাট করা (Formatting):

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

public class DateTimeFormatterExample {
    public static void main(String[] args) {
        // Create a LocalDateTime object
        LocalDateTime dateTime = LocalDateTime.of(2024, 12, 23, 14, 30, 0); // 2024-12-23T14:30:00
        
        // Define a DateTimeFormatter
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy HH:mm:ss");
        
        // Format the LocalDateTime object
        String formattedDateTime = dateTime.format(formatter);
        
        // Print the formatted date and time
        System.out.println("Formatted DateTime: " + formattedDateTime);
    }
}

আউটপুট:

Formatted DateTime: 23-12-2024 14:30:00

ব্যাখ্যা:

  • DateTimeFormatter.ofPattern("dd-MM-yyyy HH:mm:ss"): এটি একটি কাস্টম ফরম্যাট তৈরি করে। এখানে, dd দিন, MM মাস, yyyy বছর, HH ঘণ্টা, mm মিনিট এবং ss সেকেন্ডকে ফরম্যাট করে।
  • dateTime.format(formatter): LocalDateTime অবজেক্টকে নির্দিষ্ট ফরম্যাটে রূপান্তর করা হয়েছে।

2. DateTimeFormatter দিয়ে স্ট্রিং পার্স করা (Parsing):

DateTimeFormatter ব্যবহার করে আপনি একটি ফরম্যাট করা স্ট্রিংকে একটি LocalDateTime, LocalDate, বা LocalTime অবজেক্টে রূপান্তর করতে পারেন।

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

public class DateTimeParsingExample {
    public static void main(String[] args) {
        // Define a DateTimeFormatter with a pattern
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy HH:mm:ss");
        
        // Parse a string into a LocalDateTime object
        String dateTimeString = "23-12-2024 14:30:00";
        LocalDateTime parsedDateTime = LocalDateTime.parse(dateTimeString, formatter);
        
        // Print the parsed LocalDateTime object
        System.out.println("Parsed LocalDateTime: " + parsedDateTime);
    }
}

আউটপুট:

Parsed LocalDateTime: 2024-12-23T14:30

ব্যাখ্যা:

  • DateTimeFormatter.ofPattern("dd-MM-yyyy HH:mm:ss"): এটি স্ট্রিংয়ের ফরম্যাট অনুযায়ী DateTimeFormatter তৈরি করে।
  • LocalDateTime.parse(dateTimeString, formatter): এটি dateTimeString স্ট্রিংকে LocalDateTime অবজেক্টে রূপান্তর করে।

3. ISO Format ব্যবহার করা:

ISO-8601 ফরম্যাট জাভাতে ডিফল্ট ফরম্যাট হিসেবে ব্যবহৃত হয়। আপনি DateTimeFormatter.ISO_LOCAL_DATE_TIME এবং অন্যান্য ISO ফরম্যাট ব্যবহার করে তারিখ ও সময় ফরম্যাট করতে পারেন।

ISO Format উদাহরণ:

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

public class IsoDateTimeFormatterExample {
    public static void main(String[] args) {
        // Create a LocalDateTime object
        LocalDateTime dateTime = LocalDateTime.of(2024, 12, 23, 14, 30, 0);
        
        // Format the LocalDateTime object using ISO format
        String isoFormattedDateTime = dateTime.format(DateTimeFormatter.ISO_LOCAL_DATE_TIME);
        
        // Print the ISO formatted date and time
        System.out.println("ISO Formatted DateTime: " + isoFormattedDateTime);
        
        // Parse a string into LocalDateTime using ISO format
        String isoDateTimeString = "2024-12-23T14:30:00";
        LocalDateTime parsedDateTime = LocalDateTime.parse(isoDateTimeString, DateTimeFormatter.ISO_LOCAL_DATE_TIME);
        
        // Print the parsed LocalDateTime object
        System.out.println("Parsed DateTime: " + parsedDateTime);
    }
}

আউটপুট:

ISO Formatted DateTime: 2024-12-23T14:30:00
Parsed DateTime: 2024-12-23T14:30

ব্যাখ্যা:

  • DateTimeFormatter.ISO_LOCAL_DATE_TIME: এটি একটি প্রি-ডিফাইনড ফরম্যাট, যা ISO 8601 ফরম্যাটে LocalDateTime ফরম্যাট করে।
  • LocalDateTime.parse(): এটি স্ট্রিংটিকে একটি LocalDateTime অবজেক্টে রূপান্তর করে।

4. ZonedDateTime ফরম্যাট এবং পার্সিং (Time Zone এর সাথে)

ZonedDateTime ক্লাস ব্যবহার করে আপনি টাইমজোন সহ তারিখ এবং সময় ফরম্যাট করতে পারেন। এখানে DateTimeFormatter এর মাধ্যমে ZonedDateTime ফরম্যাট এবং পার্সিং দেখানো হচ্ছে।

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

public class ZonedDateTimeFormatterExample {
    public static void main(String[] args) {
        // Create a ZonedDateTime object
        ZonedDateTime zonedDateTime = ZonedDateTime.of(2024, 12, 23, 14, 30, 0, 0, ZoneId.of("America/New_York"));
        
        // Format the ZonedDateTime object
        String zonedDateTimeString = zonedDateTime.format(DateTimeFormatter.ISO_ZONED_DATE_TIME);
        System.out.println("Formatted ZonedDateTime: " + zonedDateTimeString);
        
        // Parse a ZonedDateTime string
        String zonedDateTimeInput = "2024-12-23T14:30:00-05:00[America/New_York]";
        ZonedDateTime parsedZonedDateTime = ZonedDateTime.parse(zonedDateTimeInput, DateTimeFormatter.ISO_ZONED_DATE_TIME);
        System.out.println("Parsed ZonedDateTime: " + parsedZonedDateTime);
    }
}

আউটপুট:

Formatted ZonedDateTime: 2024-12-23T14:30:00-05:00[America/New_York]
Parsed ZonedDateTime: 2024-12-23T14:30:00-05:00[America/New_York]

ব্যাখ্যা:

  • DateTimeFormatter.ISO_ZONED_DATE_TIME: এটি ISO 8601 স্ট্যান্ডার্ডে টাইমজোন সহ ZonedDateTime ফরম্যাট করে।
  • ZonedDateTime.parse(): এটি টাইমজোনসহ স্ট্রিংটিকে ZonedDateTime অবজেক্টে রূপান্তর করে।

  • DateTimeFormatter ক্লাসটি Java 8-এ Date এবং Time এর ফরম্যাটিং এবং পার্সিং কাজকে সহজ এবং শক্তিশালী করে তোলে।
  • এটি ISO 8601 স্ট্যান্ডার্ড এবং কাস্টম ফরম্যাটের মাধ্যমে তারিখ ও সময়ের মান ফরম্যাট করতে এবং সেগুলোকে স্ট্রিং থেকে অবজেক্টে রূপান্তর করতে সহায়তা করে।
  • DateTimeFormatter.ofPattern() এর মাধ্যমে আপনি আপনার প্রয়োজন অনুযায়ী কাস্টম ফরম্যাট তৈরি করতে পারেন, এবং DateTimeFormatter.ISO_* এর মাধ্যমে স্ট্যান্ডার্ড ফরম্যাটে কাজ করতে পারেন।
Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...