Date এবং Time Strings থেকে LocalDate, LocalTime, বা ZonedDateTime তৈরি করা

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

271

Java 8-এ java.time প্যাকেজটি তারিখ এবং সময় সম্পর্কিত আধুনিক API সরবরাহ করেছে, যা LocalDate, LocalTime, এবং ZonedDateTime এর মতো ক্লাসের মাধ্যমে তারিখ, সময় এবং টাইমজোন সম্পর্কিত কার্যকলাপ সহজ করে তোলে। অনেক সময় আমাদের স্ট্রিং ফরম্যাট থেকে LocalDate, LocalTime, বা ZonedDateTime অবজেক্ট তৈরি করতে হয়। এই প্রসেসটি DateTimeFormatter ক্লাস ব্যবহার করে করা সম্ভব।

Date and Time Strings থেকে LocalDate, LocalTime, এবং ZonedDateTime তৈরি করা

  1. LocalDate: শুধুমাত্র তারিখ (year, month, day) ধারণ করে।
  2. LocalTime: শুধুমাত্র সময় (hour, minute, second, nanosecond) ধারণ করে।
  3. ZonedDateTime: তারিখ, সময় এবং টাইমজোন ধারণ করে।

1. LocalDate থেকে Date String তৈরি করা

LocalDate অবজেক্টে একটি তারিখ স্ট্রিং ফরম্যাট থেকে কনভার্ট করতে DateTimeFormatter ক্লাস ব্যবহার করা হয়। DateTimeFormatter এর সাহায্যে আপনি স্ট্রিং ফরম্যাটকে প্যাটার্ন হিসেবে নির্ধারণ করতে পারেন।

LocalDate String থেকে LocalDate তৈরি করা:

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

public class LocalDateExample {
    public static void main(String[] args) {
        // Date String in "yyyy-MM-dd" format
        String dateString = "2024-12-23";
        
        // Create a DateTimeFormatter with the same 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("LocalDate: " + date);
    }
}

আউটপুট:

LocalDate: 2024-12-23

ব্যাখ্যা:

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

2. LocalTime থেকে Time String তৈরি করা

LocalTime শুধুমাত্র সময় সম্পর্কিত তথ্য ধারণ করে। LocalTime স্ট্রিং থেকে সময় তৈরি করার জন্য আমরা DateTimeFormatter ব্যবহার করতে পারি।

LocalTime String থেকে LocalTime তৈরি করা:

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

public class LocalTimeExample {
    public static void main(String[] args) {
        // Time String in "HH:mm:ss" format
        String timeString = "15:30:45";
        
        // Create a DateTimeFormatter with the same 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("LocalTime: " + time);
    }
}

আউটপুট:

LocalTime: 15:30:45

ব্যাখ্যা:

  • এখানে DateTimeFormatter.ofPattern("HH:mm:ss") প্যাটার্নের মাধ্যমে 24 ঘণ্টার সময়ের ফরম্যাটে LocalTime তৈরি করা হয়েছে।
  • LocalTime.parse() মেথড ব্যবহার করে স্ট্রিং থেকে LocalTime অবজেক্টে রূপান্তর করা হয়েছে।

3. ZonedDateTime থেকে Zoned Date-Time String তৈরি করা

ZonedDateTime একটি তারিখ, সময় এবং টাইমজোন ধারণ করে। আপনি যদি একটি ZonedDateTime স্ট্রিং থেকে ZonedDateTime অবজেক্ট তৈরি করতে চান, তবে DateTimeFormatter এবং টাইমজোনের জন্য ZoneId ব্যবহার করতে হবে।

ZonedDateTime String থেকে ZonedDateTime তৈরি করা:

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

public class ZonedDateTimeExample {
    public static void main(String[] args) {
        // Zoned Date-Time String in ISO 8601 format
        String zonedDateTimeString = "2024-12-23T15:30:45+05:30[Asia/Kolkata]";
        
        // Create a DateTimeFormatter with the pattern
        DateTimeFormatter formatter = DateTimeFormatter.ISO_ZONED_DATE_TIME;

        // Parse the Zoned Date-Time string into ZonedDateTime
        ZonedDateTime zonedDateTime = ZonedDateTime.parse(zonedDateTimeString, formatter);

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

আউটপুট:

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

ব্যাখ্যা:

  • এখানে DateTimeFormatter.ISO_ZONED_DATE_TIME ব্যবহৃত হয়েছে, যা ISO 8601 ফরম্যাট অনুযায়ী ZonedDateTime স্ট্রিং পার্স করে।
  • ZonedDateTime.parse() মেথড দ্বারা স্ট্রিং থেকে ZonedDateTime অবজেক্ট তৈরি করা হয়েছে।
  • স্ট্রিংটির মধ্যে +05:30 হল টাইমজোন, এবং [Asia/Kolkata] হল নির্দিষ্ট অঞ্চলের টাইমজোন।

4. LocalDate, LocalTime, এবং ZonedDateTime এর মধ্যে পার্থক্য:

FeatureLocalDateLocalTimeZonedDateTime
RepresentationOnly date (year, month, day)Only time (hour, minute, second, nanosecond)Date, time, and time zone (e.g., Asia/Kolkata)
Time ZoneDoes not support time zoneDoes not support time zoneSupports time zone (e.g., +05:30 or UTC)
UsageUsed for handling dates onlyUsed for handling times onlyUsed for handling date, time, and time zones
Example2024-12-2315:30:452024-12-23T15:30:45+05:30[Asia/Kolkata]

  • LocalDate, LocalTime, এবং ZonedDateTime হল java.time প্যাকেজের অত্যন্ত গুরুত্বপূর্ণ ক্লাস যা বিভিন্ন ধরনের তারিখ এবং সময় পরিচালনা করতে ব্যবহৃত হয়।
  • আপনি DateTimeFormatter ব্যবহার করে Date and Time Strings থেকে সহজেই LocalDate, LocalTime, এবং ZonedDateTime অবজেক্ট তৈরি করতে পারেন।
  • LocalDate শুধুমাত্র তারিখ ধারণ করে, LocalTime শুধুমাত্র সময় ধারণ করে এবং ZonedDateTime সময়, তারিখ এবং টাইমজোন ধারণ করে।

Java 8 এবং পরবর্তী সংস্করণে java.time প্যাকেজের ব্যবহার পদ্ধতি তারিখ এবং সময় সম্পর্কিত বিভিন্ন কাজ সহজ এবং পরিষ্কার করে তোলে।

Content added By
Promotion

Are you sure to start over?

Loading...