LocalDate, LocalTime, এবং ZonedDateTime ফরম্যাটিং

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

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

LocalDate, LocalTime, এবং ZonedDateTime ফরম্যাটিং:

Java তে ফরম্যাটিং করার জন্য DateTimeFormatter ক্লাসটি ব্যবহৃত হয়। এই ক্লাসটি আপনার তারিখ এবং সময়ের অবজেক্টকে স্ট্রিং এ রূপান্তরিত (format) এবং স্ট্রিং থেকে তারিখ বা সময় অবজেক্টে রূপান্তরিত (parse) করতে সাহায্য করে।

1. LocalDate ফরম্যাটিং:

LocalDate শুধু তারিখ (দিন, মাস, বছর) ধারণ করে এবং এটি সময় সম্পর্কিত কোনো তথ্য ধারণ করে না।

LocalDate ফরম্যাটিং উদাহরণ:

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

public class LocalDateFormattingExample {
    public static void main(String[] args) {
        // Create a LocalDate object
        LocalDate date = LocalDate.now(); // Current date
        
        // Define a custom date format
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy");
        
        // Format the date to a string
        String formattedDate = date.format(formatter);
        System.out.println("Formatted LocalDate: " + formattedDate);  // Example: 23/12/2024
    }
}

ব্যাখ্যা:

  • DateTimeFormatter.ofPattern("dd/MM/yyyy"): এখানে "dd/MM/yyyy" হল কাস্টম ফরম্যাট, যেখানে dd দিন, MM মাস, এবং yyyy বছর নির্দেশ করে।
  • date.format(formatter): LocalDate অবজেক্টটিকে ফরম্যাট করে স্ট্রিং রূপে রূপান্তরিত করা হচ্ছে।

আউটপুট:

Formatted LocalDate: 23/12/2024

2. LocalTime ফরম্যাটিং:

LocalTime ক্লাসটি সময় (ঘণ্টা, মিনিট, সেকেন্ড, ন্যানোসেকেন্ড) ধারণ করে, তবে এটি তারিখ বা সময় অঞ্চল সম্পর্কিত কোনো তথ্য ধারণ করে না।

LocalTime ফরম্যাটিং উদাহরণ:

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

public class LocalTimeFormattingExample {
    public static void main(String[] args) {
        // Create a LocalTime object
        LocalTime time = LocalTime.now(); // Current time
        
        // Define a custom time format
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss");
        
        // Format the time to a string
        String formattedTime = time.format(formatter);
        System.out.println("Formatted LocalTime: " + formattedTime);  // Example: 14:35:20
    }
}

ব্যাখ্যা:

  • DateTimeFormatter.ofPattern("HH:mm:ss"): "HH:mm:ss" কাস্টম ফরম্যাট যেখানে HH ঘণ্টা (২৪ ঘণ্টা ফরম্যাটে), mm মিনিট, এবং ss সেকেন্ড।
  • time.format(formatter): LocalTime অবজেক্টটিকে স্ট্রিং রূপে রূপান্তরিত করা হচ্ছে।

আউটপুট:

Formatted LocalTime: 14:35:20

3. ZonedDateTime ফরম্যাটিং:

ZonedDateTime ক্লাসটি তারিখ, সময় এবং সময় অঞ্চল সম্পর্কিত তথ্য ধারণ করে। এটি নির্দিষ্ট সময় অঞ্চলে বর্তমান সময়ের স্ট্রিং তৈরি করতে ব্যবহৃত হয়।

ZonedDateTime ফরম্যাটিং উদাহরণ:

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

public class ZonedDateTimeFormattingExample {
    public static void main(String[] args) {
        // Create a ZonedDateTime object for a specific time zone
        ZonedDateTime zonedDateTime = ZonedDateTime.now(ZoneId.of("Asia/Kolkata"));
        
        // Define a custom date-time format
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss z");
        
        // Format the ZonedDateTime to a string
        String formattedDateTime = zonedDateTime.format(formatter);
        System.out.println("Formatted ZonedDateTime: " + formattedDateTime);  // Example: 2024-12-23 14:35:20 IST
    }
}

ব্যাখ্যা:

  • ZoneId.of("Asia/Kolkata"): এটি Asia/Kolkata টাইম জোনের জন্য বর্তমান সময় সেট করে।
  • DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss z"): এখানে "yyyy-MM-dd HH:mm:ss z" কাস্টম ফরম্যাটে ফরম্যাটিং করা হচ্ছে, যেখানে z সময় অঞ্চল প্রতিনিধিত্ব করে।

আউটপুট:

Formatted ZonedDateTime: 2024-12-23 14:35:20 IST

4. ZonedDateTime Parse থেকে DateTime Format Conversion:

এখন আপনি যদি একটি স্ট্রিং থেকে ZonedDateTime তৈরি করতে চান এবং সেটা অন্য ফরম্যাটে রূপান্তর করতে চান, তাহলে আপনি DateTimeFormatter.parse() এবং ZonedDateTime.format() ব্যবহার করতে পারেন।

ZonedDateTime Parse থেকে DateTime Format Conversion উদাহরণ:

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

public class ZonedDateTimeParseExample {
    public static void main(String[] args) {
        // Define a date-time string with a specific format
        String dateTimeString = "2024-12-23 14:35:20 IST";
        
        // Define the formatter with the same pattern as the string
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss z");
        
        // Parse the string to ZonedDateTime
        ZonedDateTime parsedDateTime = ZonedDateTime.parse(dateTimeString, formatter);
        System.out.println("Parsed ZonedDateTime: " + parsedDateTime);
        
        // Convert parsed ZonedDateTime to a different format
        DateTimeFormatter newFormatter = DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm:ss z");
        String formattedDateTime = parsedDateTime.format(newFormatter);
        System.out.println("Formatted ZonedDateTime: " + formattedDateTime);
    }
}

আউটপুট:

Parsed ZonedDateTime: 2024-12-23T14:35:20+05:30[Asia/Kolkata]
Formatted ZonedDateTime: 23/12/2024 14:35:20 IST
  • LocalDate, LocalTime, এবং ZonedDateTime ক্লাসগুলো Java 8 এর একটি শক্তিশালী অংশ যা সময় এবং তারিখ সম্পর্কিত কার্যক্রমের জন্য ব্যবহৃত হয়।
  • DateTimeFormatter ব্যবহার করে আপনি সহজেই ফরম্যাটিং এবং পার্সিং করতে পারেন।
  • ZonedDateTime এর মাধ্যমে সময় অঞ্চল সম্পর্কিত তারিখ এবং সময়কে ভালোভাবে পরিচালনা করা যায় এবং এটি ISO 8601 ফরম্যাট অনুসরণ করে।
  • এই ফরম্যাটিং সুবিধা আপনাকে বিশ্বের বিভিন্ন টাইম জোনে সময় সম্পর্কিত কাজ সহজে করতে সাহায্য করবে।
Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...