Java 8-এ java.time প্যাকেজটি তারিখ এবং সময় সম্পর্কিত আধুনিক API সরবরাহ করেছে, যা LocalDate, LocalTime, এবং ZonedDateTime এর মতো ক্লাসের মাধ্যমে তারিখ, সময় এবং টাইমজোন সম্পর্কিত কার্যকলাপ সহজ করে তোলে। অনেক সময় আমাদের স্ট্রিং ফরম্যাট থেকে LocalDate, LocalTime, বা ZonedDateTime অবজেক্ট তৈরি করতে হয়। এই প্রসেসটি DateTimeFormatter ক্লাস ব্যবহার করে করা সম্ভব।
Date and Time Strings থেকে LocalDate, LocalTime, এবং ZonedDateTime তৈরি করা
LocalDate: শুধুমাত্র তারিখ (year, month, day) ধারণ করে।LocalTime: শুধুমাত্র সময় (hour, minute, second, nanosecond) ধারণ করে।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 এর মধ্যে পার্থক্য:
| Feature | LocalDate | LocalTime | ZonedDateTime |
|---|---|---|---|
| Representation | Only date (year, month, day) | Only time (hour, minute, second, nanosecond) | Date, time, and time zone (e.g., Asia/Kolkata) |
| Time Zone | Does not support time zone | Does not support time zone | Supports time zone (e.g., +05:30 or UTC) |
| Usage | Used for handling dates only | Used for handling times only | Used for handling date, time, and time zones |
| Example | 2024-12-23 | 15:30:45 | 2024-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 প্যাকেজের ব্যবহার পদ্ধতি তারিখ এবং সময় সম্পর্কিত বিভিন্ন কাজ সহজ এবং পরিষ্কার করে তোলে।
Read more