java.time.LocalDateTime ক্লাসটি Java 8 এর অংশ এবং এটি তারিখ এবং সময় সম্পর্কিত কাজ করার জন্য ব্যবহৃত হয়। এটি LocalDate এবং LocalTime এর একত্রিত রূপ, যার মাধ্যমে আপনি তারিখ ও সময় ম্যানিপুলেশন (যেমন, নির্দিষ্ট তারিখের উপর সময় যোগ করা বা নির্দিষ্ট সময়ের পরে তারিখ নির্ধারণ) করতে পারেন।
LocalDateTime ক্লাসটি কোনো নির্দিষ্ট সময় অঞ্চলের সঙ্গে সম্পর্কিত নয়, অর্থাৎ এটি যেকোনো সময় অঞ্চল থেকে স্বাধীন এবং ISO-8601 স্ট্যান্ডার্ডে নির্ধারিত থাকে।
LocalDateTime এর মাধ্যমে নির্দিষ্ট তারিখ ও সময় ম্যানিপুলেশন
এখানে LocalDateTime এর কিছু প্রধান ফিচার এবং উদাহরণ দেওয়া হচ্ছে:
1. বর্তমান তারিখ এবং সময় পাওয়া:
import java.time.LocalDateTime;
public class LocalDateTimeExample {
public static void main(String[] args) {
// Get the current date and time
LocalDateTime currentDateTime = LocalDateTime.now();
System.out.println("Current DateTime: " + currentDateTime);
}
}
আউটপুট:
Current DateTime: 2024-12-23T14:45:30.456
এখানে now() মেথড ব্যবহার করে বর্তমান তারিখ এবং সময় পাওয়া হয়েছে।
2. নির্দিষ্ট তারিখ এবং সময় তৈরি করা:
আপনি LocalDateTime.of() মেথড ব্যবহার করে একটি নির্দিষ্ট তারিখ এবং সময় তৈরি করতে পারেন।
import java.time.LocalDateTime;
public class SpecificDateTimeExample {
public static void main(String[] args) {
// Creating a specific date and time (2024-12-25 10:30)
LocalDateTime specificDateTime = LocalDateTime.of(2024, 12, 25, 10, 30);
System.out.println("Specific DateTime: " + specificDateTime);
}
}
আউটপুট:
Specific DateTime: 2024-12-25T10:30
এখানে LocalDateTime.of(year, month, day, hour, minute) পদ্ধতিটি ব্যবহার করে একটি নির্দিষ্ট তারিখ ও সময় তৈরি করা হয়েছে।
3. তারিখ এবং সময় যোগ/বিয়োগ করা:
LocalDateTime ক্লাসে আপনি plus এবং minus মেথড ব্যবহার করে সময়ের ওপর কাজ করতে পারেন, যেমন নির্দিষ্ট সময় যোগ বা বিয়োগ করা।
উদাহরণ: সময় যোগ করা:
import java.time.LocalDateTime;
public class AddTimeExample {
public static void main(String[] args) {
// Current DateTime
LocalDateTime currentDateTime = LocalDateTime.now();
System.out.println("Current DateTime: " + currentDateTime);
// Adding 2 days and 3 hours to the current DateTime
LocalDateTime newDateTime = currentDateTime.plusDays(2).plusHours(3);
System.out.println("New DateTime (After Adding 2 days and 3 hours): " + newDateTime);
}
}
আউটপুট:
Current DateTime: 2024-12-23T14:45:30.456
New DateTime (After Adding 2 days and 3 hours): 2024-12-25T17:45:30.456
এখানে plusDays() এবং plusHours() মেথডের মাধ্যমে ২ দিন এবং ৩ ঘণ্টা যোগ করা হয়েছে।
উদাহরণ: সময় বিয়োগ করা:
import java.time.LocalDateTime;
public class SubtractTimeExample {
public static void main(String[] args) {
// Current DateTime
LocalDateTime currentDateTime = LocalDateTime.now();
System.out.println("Current DateTime: " + currentDateTime);
// Subtracting 5 days and 2 hours from the current DateTime
LocalDateTime newDateTime = currentDateTime.minusDays(5).minusHours(2);
System.out.println("New DateTime (After Subtracting 5 days and 2 hours): " + newDateTime);
}
}
আউটপুট:
Current DateTime: 2024-12-23T14:45:30.456
New DateTime (After Subtracting 5 days and 2 hours): 2024-12-18T12:45:30.456
এখানে minusDays() এবং minusHours() মেথডের মাধ্যমে ৫ দিন এবং ২ ঘণ্টা বিয়োগ করা হয়েছে।
4. তারিখ এবং সময় ফরম্যাট করা:
DateTimeFormatter ব্যবহার করে আপনি LocalDateTime এর তারিখ এবং সময় ফরম্যাট করতে পারেন।
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class FormatDateTimeExample {
public static void main(String[] args) {
// Current DateTime
LocalDateTime currentDateTime = LocalDateTime.now();
// Define a custom format
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
// Format the DateTime
String formattedDateTime = currentDateTime.format(formatter);
System.out.println("Formatted DateTime: " + formattedDateTime);
}
}
আউটপুট:
Formatted DateTime: 2024-12-23 14:45:30
এখানে DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss") ব্যবহার করে আমরা একটি কাস্টম ফরম্যাটে তারিখ এবং সময় প্রিন্ট করেছি।
5. তারিখ এবং সময়ের পার্থক্য বের করা (Duration and Period):
Duration এবং Period ব্যবহার করে আপনি দুটি LocalDateTime এর মধ্যে পার্থক্য বের করতে পারেন।
Duration Example (সময়ের পার্থক্য):
import java.time.Duration;
import java.time.LocalDateTime;
public class DurationExample {
public static void main(String[] args) {
// Current DateTime
LocalDateTime startDateTime = LocalDateTime.now();
// Adding 5 hours and 30 minutes to the current DateTime
LocalDateTime endDateTime = startDateTime.plusHours(5).plusMinutes(30);
// Calculate the duration between the two times
Duration duration = Duration.between(startDateTime, endDateTime);
System.out.println("Duration between the two DateTimes: " + duration.toHours() + " hours");
}
}
আউটপুট:
Duration between the two DateTimes: 5 hours
এখানে Duration.between(startDateTime, endDateTime) ব্যবহার করে আমরা দুটি LocalDateTime এর মধ্যে সময়ের পার্থক্য (Duration) বের করেছি।
Period Example (তারিখের পার্থক্য):
import java.time.LocalDateTime;
import java.time.Period;
public class PeriodExample {
public static void main(String[] args) {
// Current DateTime
LocalDateTime startDateTime = LocalDateTime.now();
// Adding 2 years, 3 months, and 15 days
LocalDateTime endDateTime = startDateTime.plusYears(2).plusMonths(3).plusDays(15);
// Calculate the period between the two dates
Period period = Period.between(startDateTime.toLocalDate(), endDateTime.toLocalDate());
System.out.println("Period between the two DateTimes: " + period.getYears() + " years, " + period.getMonths() + " months, " + period.getDays() + " days");
}
}
আউটপুট:
Period between the two DateTimes: 2 years, 3 months, 15 days
এখানে Period.between() ব্যবহার করে দুটি LocalDateTime এর মধ্যে তারিখের পার্থক্য বের করেছি।
LocalDateTime ক্লাসের মাধ্যমে আপনি তারিখ এবং সময়ের উপর বিভিন্ন ধরনের ম্যানিপুলেশন করতে পারেন, যেমন:
- বর্তমান তারিখ এবং সময় পাওয়া
- নির্দিষ্ট তারিখ এবং সময় তৈরি করা
- সময় যোগ বা বিয়োগ করা
- তারিখ এবং সময় ফরম্যাট করা
- তারিখ এবং সময়ের পার্থক্য বের করা
এটি ISO 8601 স্ট্যান্ডার্ড অনুসরণ করে এবং Java 8 এর পর থেকে এটি পূর্ববর্তী java.util.Date এবং java.util.Calendar এর তুলনায় আরও উন্নত এবং সঠিক উপায় প্রদান করে।
Read more