উদাহরণ সহ Date এবং Time Parsing

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

289

Java 8-এ java.time প্যাকেজটি তারিখ এবং সময় সম্পর্কিত আধুনিক API প্রদান করেছে যা DateTimeFormatter ক্লাসের মাধ্যমে তারিখ এবং সময় parsing এবং formatting করতে সহায়তা করে। Parsing হল একটি স্ট্রিং থেকে তারিখ বা সময়ের অবজেক্ট তৈরি করা এবং Formatting হল একটি তারিখ বা সময় অবজেক্টকে স্ট্রিং আকারে রূপান্তর করা।

এই টিউটোরিয়ালে, আমরা দেখব কিভাবে তারিখ এবং সময়ের স্ট্রিংকে LocalDate, LocalTime, এবং ZonedDateTime এর মতো টাইম অবজেক্টে parse করা যায়।


1. Date এবং Time Parsing with LocalDate

LocalDate শুধুমাত্র তারিখ (year, month, day) ধারণ করে। আপনি DateTimeFormatter ব্যবহার করে একটি স্ট্রিংকে LocalDate অবজেক্টে পার্স করতে পারেন।

Example: Parsing a Date String into LocalDate

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

public class DateParsingExample {
    public static void main(String[] args) {
        // Date String in "yyyy-MM-dd" format
        String dateString = "2024-12-23";
        
        // Create a DateTimeFormatter with the pattern
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");

        // Parse the date string into LocalDate
        LocalDate date = LocalDate.parse(dateString, formatter);

        // Print the LocalDate
        System.out.println("Parsed LocalDate: " + date);
    }
}

আউটপুট:

Parsed LocalDate: 2024-12-23

ব্যাখ্যা:

  • DateTimeFormatter.ofPattern("yyyy-MM-dd") প্যাটার্ন অনুযায়ী তারিখ স্ট্রিং পার্স করা হচ্ছে।
  • LocalDate.parse() মেথড ব্যবহার করে স্ট্রিং থেকে একটি LocalDate অবজেক্ট তৈরি করা হয়েছে।

2. Time Parsing with LocalTime

LocalTime শুধুমাত্র সময় (hour, minute, second) ধারণ করে। টাইম স্ট্রিং থেকে LocalTime অবজেক্ট তৈরি করতে DateTimeFormatter ব্যবহার করা যায়।

Example: Parsing a Time String into LocalTime

import java.time.LocalTime;
import java.time.format.DateTimeFormatter;

public class TimeParsingExample {
    public static void main(String[] args) {
        // Time String in "HH:mm:ss" format
        String timeString = "15:30:45";
        
        // Create a DateTimeFormatter with the pattern
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss");

        // Parse the time string into LocalTime
        LocalTime time = LocalTime.parse(timeString, formatter);

        // Print the LocalTime
        System.out.println("Parsed LocalTime: " + time);
    }
}

আউটপুট:

Parsed LocalTime: 15:30:45

ব্যাখ্যা:

  • DateTimeFormatter.ofPattern("HH:mm:ss") প্যাটার্নটি ব্যবহার করে "15:30:45" টাইম স্ট্রিং পার্স করা হয়েছে।
  • LocalTime.parse() মেথডটি স্ট্রিং থেকে LocalTime অবজেক্টে রূপান্তরিত করেছে।

3. Date and Time Parsing with ZonedDateTime

ZonedDateTime তারিখ, সময় এবং টাইমজোন ধারণ করে। আপনি DateTimeFormatter.ISO_ZONED_DATE_TIME বা নিজস্ব প্যাটার্ন দিয়ে টাইমস্ট্যাম্প স্ট্রিং পার্স করতে পারেন।

Example: Parsing a Date-Time String into ZonedDateTime

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

public class ZonedDateTimeParsingExample {
    public static void main(String[] args) {
        // ZonedDateTime String in ISO 8601 format
        String zonedDateTimeString = "2024-12-23T15:30:45+05:30[Asia/Kolkata]";
        
        // Parse the string into ZonedDateTime using ISO_ZONED_DATE_TIME formatter
        ZonedDateTime zonedDateTime = ZonedDateTime.parse(zonedDateTimeString, DateTimeFormatter.ISO_ZONED_DATE_TIME);

        // Print the ZonedDateTime
        System.out.println("Parsed ZonedDateTime: " + zonedDateTime);
    }
}

আউটপুট:

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

ব্যাখ্যা:

  • DateTimeFormatter.ISO_ZONED_DATE_TIME প্যাটার্ন ব্যবহার করে "2024-12-23T15:30:45+05:30[Asia/Kolkata]" স্ট্রিংটি ZonedDateTime অবজেক্টে রূপান্তরিত করা হয়েছে।
  • এখানে টাইমজোন +05:30 এবং অঞ্চল [Asia/Kolkata] উল্লেখ করা হয়েছে।

4. Custom Pattern দিয়ে Date and Time Parsing

আপনি নিজস্ব প্যাটার্ন ব্যবহার করে স্ট্রিং পার্স করতে পারেন। উদাহরণস্বরূপ, DateTimeFormatter.ofPattern() ব্যবহার করে নির্দিষ্ট তারিখ এবং সময়ের ফরম্যাট থেকে LocalDate, LocalTime, বা ZonedDateTime তৈরি করতে পারবেন।

Example: Custom Pattern Parsing

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

public class CustomPatternParsingExample {
    public static void main(String[] args) {
        // Custom Date String (dd/MM/yyyy)
        String dateString = "23/12/2024";
        DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("dd/MM/yyyy");
        LocalDate localDate = LocalDate.parse(dateString, dateFormatter);
        System.out.println("Parsed LocalDate: " + localDate);

        // Custom Time String (hh:mm a)
        String timeString = "03:30 PM";
        DateTimeFormatter timeFormatter = DateTimeFormatter.ofPattern("hh:mm a");
        LocalTime localTime = LocalTime.parse(timeString, timeFormatter);
        System.out.println("Parsed LocalTime: " + localTime);

        // Custom ZonedDateTime String (dd-MM-yyyy HH:mm:ss z)
        String zonedDateTimeString = "23-12-2024 15:30:45 GMT";
        DateTimeFormatter zonedDateTimeFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy HH:mm:ss z");
        ZonedDateTime zonedDateTime = ZonedDateTime.parse(zonedDateTimeString, zonedDateTimeFormatter);
        System.out.println("Parsed ZonedDateTime: " + zonedDateTime);
    }
}

আউটপুট:

Parsed LocalDate: 2024-12-23
Parsed LocalTime: 15:30
Parsed ZonedDateTime: 2024-12-23T15:30:45Z

ব্যাখ্যা:

  • DateTimeFormatter.ofPattern("dd/MM/yyyy") ফরম্যাট অনুযায়ী LocalDate.parse() ব্যবহার করে একটি তারিখ তৈরি করা হয়েছে।
  • DateTimeFormatter.ofPattern("hh:mm a") ফরম্যাটের মাধ্যমে LocalTime.parse() ব্যবহার করে সময় তৈরি করা হয়েছে।
  • DateTimeFormatter.ofPattern("dd-MM-yyyy HH:mm:ss z") ফরম্যাটে ZonedDateTime.parse() ব্যবহার করে টাইমজোন সহ তারিখ এবং সময় তৈরি করা হয়েছে।

5. Parsing Time Zone Specific Date and Time

ZonedDateTime ক্লাসটি টাইমজোন সহ তারিখ এবং সময়ের তথ্য ধারণ করে। আপনি ZonedDateTime.parse() মেথড ব্যবহার করে টাইমজোন সহ তারিখ এবং সময়ের স্ট্রিং থেকে ZonedDateTime অবজেক্ট তৈরি করতে পারেন।

Example: Parsing Date-Time with Specific Time Zone

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

public class TimeZoneDateTimeParsingExample {
    public static void main(String[] args) {
        // ZonedDateTime String in "yyyy-MM-dd'T'HH:mm:ssXXX" format
        String zonedDateTimeString = "2024-12-23T15:30:45+05:30";
        
        // Parse the string into ZonedDateTime using a custom pattern
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssXXX");
        ZonedDateTime zonedDateTime = ZonedDateTime.parse(zonedDateTimeString, formatter);

        // Print the ZonedDateTime
        System.out.println("Parsed ZonedDateTime: " + zonedDateTime);
    }
}

আউটপুট:

Parsed ZonedDateTime: 2024-12-23T15:30:45+05:30

ব্যাখ্যা:

  • DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssXXX") ফরম্যাটে টাইমজোন সহ তারিখ এবং সময় পার্স করা হয়েছে।
  • এখানে +05:30 টাইমজোন ব্যবহার করা হয়েছে, যা Asia/Kolkata টাইমজোনের সাথে সম্পর্কিত।

  • DateTimeFormatter এবং parse() মেথডগুলি ব্যবহার করে আপনি বিভিন্ন ধরনের date, time, এবং datetime স্ট্রিং থেকে LocalDate, LocalTime, এবং ZonedDateTime তৈরি করতে পারেন।
  • Custom Patterns ব্যবহার করে আপনি আপনার প্রয়োজন অনুযায়ী বিভিন্ন স্ট্রিং ফরম্যাটে তারিখ এবং সময় পার্স করতে পারেন।
  • ZonedDateTime টাইমজোন সহ তারিখ এবং সময় পরিচালনার জন্য গুরুত্বপূর্ণ এবং এটি স্ট্রিং থেকে টাইমজোনসহ তারিখ পার্স করতে সহায়তা করে।

এটি Java 8 এর java.time প্যাকেজের একটি শক্তিশালী ফিচার যা আধুনিক তারিখ এবং সময় ব্যবস্থাপনায় গুরুত্বপূর্ণ ভূমিকা পালন করে।

Content added By
Promotion

Are you sure to start over?

Loading...