LocalTime একটি ক্লাস যা java.time প্যাকেজে অন্তর্ভুক্ত এবং এটি সময় সম্পর্কিত তথ্য ধারণ করে, যেমন ঘণ্টা, মিনিট, সেকেন্ড, এবং ন্যানো সেকেন্ড। এটি Java 8 এ যোগ করা হয়েছিল এবং LocalDate এর মতো, এটি কোনো তারিখ সম্পর্কিত তথ্য ধারণ করে না, শুধুমাত্র সময় সম্পর্কিত ডেটা রাখে। LocalTime ব্যবহার করে আপনি সময়ের নির্দিষ্ট মান (যেমন ঘণ্টা, মিনিট, সেকেন্ড) সেট এবং প্রাপ্ত করতে পারেন, এবং এটি ISO-8601 টাইম স্ট্যান্ডার্ড অনুসরণ করে।
LocalTime কি?
LocalTime ক্লাসটি ISO-8601 স্ট্যান্ডার্ড অনুসারে শুধুমাত্র সময় (যেমন 12:30:45) সম্পর্কিত ডেটা ধারণ করে এবং এর মধ্যে তারিখ বা টাইমজোন সংক্রান্ত কোনো তথ্য থাকে না। এটি সাধারণত সময়ের সাথে কাজ করার জন্য ব্যবহৃত হয়, যেমন ঘড়ির সময় দেখানো, নির্দিষ্ট সময়ের সঙ্গে তুলনা করা, অথবা সময়ের গণনা করা (যেমন, নির্দিষ্ট ঘণ্টা, মিনিট, সেকেন্ড যোগ/বিয়োগ করা)।
LocalTime এর সুবিধাসমূহ:
- Immutable:
LocalTimeঅপরিবর্তনীয় (immutable), অর্থাৎ একবার একটি অবজেক্ট তৈরি হলে, আপনি তার মান পরিবর্তন করতে পারবেন না। - Thread-Safe: যেহেতু
LocalTimeঅপরিবর্তনীয়, এটি মাল্টি-থ্রেডেড পরিবেশে নিরাপদ। - ISO-8601 Compliant:
LocalTimeক্লাসটি ISO-8601 স্ট্যান্ডার্ড অনুসরণ করে, যা আন্তর্জাতিকভাবে সময়ের ফরম্যাট হিসেবে ব্যবহৃত হয়।
LocalTime কিভাবে কাজ করে?
LocalTime ক্লাসের সাহায্যে আপনি সময় সম্পর্কিত বিভিন্ন অপারেশন করতে পারেন, যেমন:
- সময় তৈরি করা
- সময়ের তুলনা করা
- ঘণ্টা, মিনিট, সেকেন্ড গণনা করা
- সময়ের মধ্যে যোগ/বিয়োগ করা
LocalTime ব্যবহার করার উদাহরণ:
1. LocalTime অবজেক্ট তৈরি করা:
import java.time.LocalTime;
public class LocalTimeExample {
public static void main(String[] args) {
// 12:30:45 এ সময় তৈরি করা
LocalTime time = LocalTime.of(12, 30, 45);
System.out.println("Created Time: " + time);
// বর্তমান সময় পেতে
LocalTime currentTime = LocalTime.now();
System.out.println("Current Time: " + currentTime);
}
}
আউটপুট:
Created Time: 12:30:45
Current Time: 14:15:30.123456789
ব্যাখ্যা:
LocalTime.of(12, 30, 45): এটি12:30:45সময় তৈরি করে।LocalTime.now(): এটি বর্তমান সিস্টেম সময় ফেরত দেয়।
2. ঘন্টা, মিনিট, সেকেন্ড এক্সেস করা:
import java.time.LocalTime;
public class LocalTimeExample {
public static void main(String[] args) {
LocalTime time = LocalTime.of(14, 45, 30);
// ঘন্টা, মিনিট এবং সেকেন্ড এক্সেস করা
int hour = time.getHour();
int minute = time.getMinute();
int second = time.getSecond();
System.out.println("Hour: " + hour);
System.out.println("Minute: " + minute);
System.out.println("Second: " + second);
}
}
আউটপুট:
Hour: 14
Minute: 45
Second: 30
ব্যাখ্যা:
getHour(): সময়ের ঘন্টা অংশ প্রদান করে।getMinute(): সময়ের মিনিট অংশ প্রদান করে।getSecond(): সময়ের সেকেন্ড অংশ প্রদান করে।
3. সময়ের মধ্যে যোগ/বিয়োগ করা:
LocalTime ক্লাসে plus() এবং minus() মেথড ব্যবহার করে আপনি সময়ের সাথে যোগ বা বিয়োগ করতে পারেন।
import java.time.LocalTime;
public class LocalTimeExample {
public static void main(String[] args) {
LocalTime time = LocalTime.of(10, 15, 30);
// 2 ঘণ্টা, 30 মিনিট যোগ করা
LocalTime newTime = time.plusHours(2).plusMinutes(30);
System.out.println("New Time: " + newTime);
// 1 ঘণ্টা, 15 মিনিট বিয়োগ করা
LocalTime newTimeMinus = time.minusHours(1).minusMinutes(15);
System.out.println("New Time After Subtraction: " + newTimeMinus);
}
}
আউটপুট:
New Time: 12:45:30
New Time After Subtraction: 08:00:30
ব্যাখ্যা:
plusHours(2).plusMinutes(30): ২ ঘণ্টা এবং ৩০ মিনিট যোগ করা হচ্ছে।minusHours(1).minusMinutes(15): ১ ঘণ্টা এবং ১৫ মিনিট বিয়োগ করা হচ্ছে।
4. সময় তুলনা করা:
LocalTime ক্লাসে isBefore(), isAfter(), এবং equals() মেথডের মাধ্যমে আপনি দুইটি সময়ের মধ্যে তুলনা করতে পারেন।
import java.time.LocalTime;
public class LocalTimeExample {
public static void main(String[] args) {
LocalTime time1 = LocalTime.of(10, 30);
LocalTime time2 = LocalTime.of(12, 45);
// Check if time1 is before time2
if (time1.isBefore(time2)) {
System.out.println(time1 + " is before " + time2);
}
// Check if time2 is after time1
if (time2.isAfter(time1)) {
System.out.println(time2 + " is after " + time1);
}
// Check if time1 is equal to time2
if (time1.equals(time2)) {
System.out.println(time1 + " is equal to " + time2);
} else {
System.out.println(time1 + " is not equal to " + time2);
}
}
}
আউটপুট:
10:30 is before 12:45
12:45 is after 10:30
10:30 is not equal to 12:45
ব্যাখ্যা:
isBefore(time2):time1যদিtime2এর আগে থাকে তবে এটিtrueফেরত দেবে।isAfter(time1):time2যদিtime1এর পরে থাকে তবে এটিtrueফেরত দেবে।equals(time2): দুটি সময় যদি সমান হয়, তবে এটিtrueফেরত দেবে।
5. LocalTime এবং Duration ব্যবহার:
Duration ক্লাস ব্যবহার করে দুটি LocalTime এর মধ্যে সময়ের পার্থক্য বের করতে পারেন।
import java.time.LocalTime;
import java.time.Duration;
public class LocalTimeExample {
public static void main(String[] args) {
LocalTime startTime = LocalTime.of(9, 0);
LocalTime endTime = LocalTime.of(17, 30);
// Calculate the duration between two times
Duration duration = Duration.between(startTime, endTime);
System.out.println("Duration between times: " + duration.toHours() + " hours and " + duration.toMinutes() % 60 + " minutes");
}
}
আউটপুট:
Duration between times: 8 hours and 30 minutes
ব্যাখ্যা:
Duration.between(startTime, endTime): এটিstartTimeএবংendTimeএর মধ্যে সময়ের পার্থক্য বের করে।
LocalTime ক্লাসটি Java 8-এ আনা হয়েছে এবং এটি সময়ের সাথে কাজ করার জন্য একটি অত্যন্ত কার্যকরী এবং ব্যবহারযোগ্য ক্লাস। এটি ঘণ্টা, মিনিট, সেকেন্ড এবং ন্যানো সেকেন্ড সম্পর্কিত তথ্য পরিচালনা করতে সাহায্য করে এবং কোনো তারিখ বা টাইমজোন সম্পর্কিত তথ্য রাখে না। আপনি এটি ব্যবহার করে সময় তৈরি, সময়ের যোগ/বিয়োগ, সময়ের তুলনা, এবং সময়ের মধ্যে পার্থক্য বের করতে পারেন। LocalTime একটি immutable ক্লাস, যা thread-safe এবং অত্যন্ত নির্ভরযোগ্য।
Read more