DateTimeFormatter এর মাধ্যমে Parsing করা

Parsing Date এবং Time - জাভা টাইম প্যাকেজ (Java.time Package) - Java Technologies

315

DateTimeFormatter ক্লাসটি Java 8-এ java.time.format প্যাকেজের অংশ হিসাবে প্রবর্তিত হয়েছে এবং এটি LocalDate, LocalDateTime, ZonedDateTime, এবং অন্যান্য java.time অবজেক্টের স্ট্রিং থেকে অবজেক্টে কনভার্সন এবং স্ট্রিং ফরম্যাটিং করার জন্য ব্যবহৃত হয়। Parsing এর মাধ্যমে আপনি একটি স্ট্রিংকে নির্দিষ্ট তারিখ এবং সময় অবজেক্টে রূপান্তর করতে পারেন।

DateTimeFormatter দিয়ে Parsing:

DateTimeFormatter ক্লাসটির মাধ্যমে স্ট্রিং থেকে LocalDate, LocalDateTime, বা ZonedDateTime টাইপের অবজেক্টে রূপান্তর করতে parse() মেথড ব্যবহার করা হয়।

parse() মেথডটি একটি স্ট্রিং নিয়ে সেটি নির্দিষ্ট DateTimeFormatter এর মাধ্যমে পার্স (parse) করে একটি TemporalAccessor অবজেক্ট রিটার্ন করে, যা পরবর্তীতে নির্দিষ্ট টাইপে কনভার্ট করা যায়।

Common Methods for Parsing:

  • parse(CharSequence text): এটি একটি স্ট্রিং নিয়ে TemporalAccessor রিটার্ন করে।
  • parse(CharSequence text, DateTimeFormatter formatter): এটি নির্দিষ্ট DateTimeFormatter দিয়ে স্ট্রিংকে পার্স করে।
  • parse(CharSequence text, TemporalQuery<T> query): এটি স্ট্রিং থেকে নির্দিষ্ট টাইপে পার্স করতে সাহায্য করে।

Example: Parsing Date with DateTimeFormatter

1. Basic Parsing with DateTimeFormatter

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

public class DateTimeFormatterParsingExample {
    public static void main(String[] args) {
        String dateStr = "2024-12-23";  // Date in "yyyy-MM-dd" format
        
        // Create a DateTimeFormatter
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
        
        // Parse the string into LocalDate
        LocalDate date = LocalDate.parse(dateStr, formatter);
        
        // Print the parsed date
        System.out.println("Parsed Date: " + date);
    }
}

Output:

Parsed Date: 2024-12-23

ব্যাখ্যা:

  • DateTimeFormatter.ofPattern("yyyy-MM-dd") স্ট্রিং ফরম্যাট (যেমন yyyy-MM-dd) এর জন্য একটি DateTimeFormatter তৈরি করে।
  • LocalDate.parse(dateStr, formatter) মেথডটি স্ট্রিং "2024-12-23" কে পার্স করে LocalDate অবজেক্টে রূপান্তরিত করে।

2. Parsing with Time (LocalDateTime)

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

public class DateTimeFormatterParsingWithTime {
    public static void main(String[] args) {
        String dateTimeStr = "2024-12-23 15:30";  // Date and Time in "yyyy-MM-dd HH:mm" format
        
        // Create a DateTimeFormatter for Date and Time
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
        
        // Parse the string into LocalDateTime
        LocalDateTime dateTime = LocalDateTime.parse(dateTimeStr, formatter);
        
        // Print the parsed DateTime
        System.out.println("Parsed DateTime: " + dateTime);
    }
}

Output:

Parsed DateTime: 2024-12-23T15:30

ব্যাখ্যা:

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

3. Parsing with TimeZone (ZonedDateTime)

import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.time.ZoneId;

public class DateTimeFormatterParsingWithZone {
    public static void main(String[] args) {
        String dateTimeStr = "2024-12-23T15:30+05:30[Asia/Kolkata]";  // Date, Time and Zone
        
        // Create a DateTimeFormatter with a timezone
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mmXXX'['VV']'");
        
        // Parse the string into ZonedDateTime
        ZonedDateTime zonedDateTime = ZonedDateTime.parse(dateTimeStr, formatter);
        
        // Print the parsed ZonedDateTime
        System.out.println("Parsed ZonedDateTime: " + zonedDateTime);
    }
}

Output:

Parsed ZonedDateTime: 2024-12-23T15:30+05:30[Asia/Kolkata]

ব্যাখ্যা:

  • এখানে DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mmXXX'['VV']") ফরম্যাটার দিয়ে ZonedDateTime তৈরি করা হয়েছে, যেখানে টাইমজোনও অন্তর্ভুক্ত রয়েছে।
  • স্ট্রিং "2024-12-23T15:30+05:30[Asia/Kolkata]" পার্স করা হয় এবং ZonedDateTime অবজেক্টে রূপান্তরিত হয়।

4. Parsing with Custom DateTime Format

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

public class CustomDateTimeParsingExample {
    public static void main(String[] args) {
        String dateStr = "23-Dec-2024";  // Date in "dd-MMM-yyyy" format
        
        // Create a DateTimeFormatter with a custom format
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MMM-yyyy");
        
        // Parse the string into LocalDate
        LocalDate date = LocalDate.parse(dateStr, formatter);
        
        // Print the parsed date
        System.out.println("Parsed Date: " + date);
    }
}

Output:

Parsed Date: 2024-12-23

ব্যাখ্যা:

  • এখানে DateTimeFormatter.ofPattern("dd-MMM-yyyy") ব্যবহার করে কাস্টম ফরম্যাটে তারিখ পার্স করা হয়েছে। যেমন "23-Dec-2024"

DateTimeFormatter এর আরও কিছু বৈশিষ্ট্য:

  1. withZone(ZoneId zone):

    • আপনি DateTimeFormatter এর সাথে একটি নির্দিষ্ট ZoneId (টাইমজোন) যোগ করতে পারেন, যাতে টাইমস্ট্যাম্প টাইমজোন সংক্রান্ত তথ্য রাখে।

    Example:

    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm").withZone(ZoneId.of("UTC"));
    
  2. parse(CharSequence text, TemporalQuery<T> query):
    • আপনি TemporalQuery ব্যবহার করে একটি কাস্টম প্যার্সিং কৌশল তৈরি করতে পারেন।
  3. format() Method:
    • DateTimeFormatter স্ট্রিং প্যাটার্ন ব্যবহার করে একটি Temporal অবজেক্টকে ফরম্যাট করতে পারে।
    • উদাহরণ: formatter.format(LocalDate.now())

সারাংশ:

  • DateTimeFormatter হল একটি শক্তিশালী ক্লাস যা স্ট্রিং থেকে তারিখ এবং সময় পার্স করার জন্য ব্যবহৃত হয়।
  • parse() মেথডটি স্ট্রিংকে একটি নির্দিষ্ট তারিখ বা সময় অবজেক্টে রূপান্তর করতে ব্যবহৃত হয়।
  • DateTimeFormatter ব্যবহার করে আপনি কাস্টম ফরম্যাটে তারিখ এবং সময় পার্স করতে পারেন, এবং টাইমজোন বা অন্যান্য অতিরিক্ত তথ্য অন্তর্ভুক্ত করতে পারেন।

এটি Java 8 থেকে java.time প্যাকেজে অন্তর্ভুক্ত করা হয়েছে এবং সময় ব্যবস্থাপনা কোডে দক্ষতা এবং সঠিকতা আনতে এটি খুবই উপকারী।

Content added By
Promotion

Are you sure to start over?

Loading...