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 এর আরও কিছু বৈশিষ্ট্য:
withZone(ZoneId zone):- আপনি
DateTimeFormatterএর সাথে একটি নির্দিষ্টZoneId(টাইমজোন) যোগ করতে পারেন, যাতে টাইমস্ট্যাম্প টাইমজোন সংক্রান্ত তথ্য রাখে।
Example:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm").withZone(ZoneId.of("UTC"));- আপনি
parse(CharSequence text, TemporalQuery<T> query):- আপনি
TemporalQueryব্যবহার করে একটি কাস্টম প্যার্সিং কৌশল তৈরি করতে পারেন।
- আপনি
format()Method:DateTimeFormatterস্ট্রিং প্যাটার্ন ব্যবহার করে একটিTemporalঅবজেক্টকে ফরম্যাট করতে পারে।- উদাহরণ:
formatter.format(LocalDate.now())
সারাংশ:
DateTimeFormatterহল একটি শক্তিশালী ক্লাস যা স্ট্রিং থেকে তারিখ এবং সময় পার্স করার জন্য ব্যবহৃত হয়।parse()মেথডটি স্ট্রিংকে একটি নির্দিষ্ট তারিখ বা সময় অবজেক্টে রূপান্তর করতে ব্যবহৃত হয়।- DateTimeFormatter ব্যবহার করে আপনি কাস্টম ফরম্যাটে তারিখ এবং সময় পার্স করতে পারেন, এবং টাইমজোন বা অন্যান্য অতিরিক্ত তথ্য অন্তর্ভুক্ত করতে পারেন।
এটি Java 8 থেকে java.time প্যাকেজে অন্তর্ভুক্ত করা হয়েছে এবং সময় ব্যবস্থাপনা কোডে দক্ষতা এবং সঠিকতা আনতে এটি খুবই উপকারী।
Read more