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 প্যাকেজের একটি শক্তিশালী ফিচার যা আধুনিক তারিখ এবং সময় ব্যবস্থাপনায় গুরুত্বপূর্ণ ভূমিকা পালন করে।
Read more