Java ইন্টারন্যাশনালাইজেশন (i18n) এর মাধ্যমে বিভিন্ন অঞ্চলের জন্য কাস্টমাইজড ডেটা এবং টাইম প্রদর্শন করা সম্ভব হয়। Java-তে java.time প্যাকেজটি Date and Time সম্পর্কিত ফিচার প্রদান করে এবং এর মধ্যে কিছু alternative calendars এর সমর্থন রয়েছে, যেমন Hijri (ইসলামিক ক্যালেন্ডার), Buddhist ক্যালেন্ডার এবং অন্যান্য ক্যালেন্ডার সিস্টেম।
Java java.time প্যাকেজটি JDK 8 থেকে প্রবর্তিত হয়েছে এবং এটি সময় এবং তারিখের জন্য আধুনিক এবং শক্তিশালী API সরবরাহ করে, যা ISO, Hijri, Buddhist, এবং অন্যান্য ক্যালেন্ডার সিস্টেমের জন্য সমর্থন প্রদান করে।
Hijri Calendar:
Hijri ক্যালেন্ডার, যেটি Islamic Calendar নামেও পরিচিত, ইসলামি বিশ্বের তারিখের হিসাবের জন্য ব্যবহৃত হয়। এটি lunar calendar এবং এর মাসের দৈর্ঘ্য সারা বছরে কিছুটা পরিবর্তিত হয়।
Hijri Calendar ব্যবহারের উদাহরণ:
import java.time.*;
import java.time.format.DateTimeFormatter;
import java.util.*;
public class HijriCalendarExample {
public static void main(String[] args) {
// Hijri Calendar এর জন্য Locale এবং DateTimeFormatter তৈরি করা
Locale hijriLocale = new Locale("ar", "SA"); // Arabic Locale for Saudi Arabia
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd", hijriLocale);
// Hijri ক্যালেন্ডারে বর্তমান তারিখ প্রিন্ট করা
LocalDate hijriDate = LocalDate.now(new HijrahChronology());
System.out.println("Hijri Date: " + hijriDate.format(formatter));
}
}
ব্যাখ্যা:
HijrahChronologyব্যবহার করে ইসলামিক ক্যালেন্ডারের উপর ভিত্তি করে তারিখ বের করা হয়েছে।Locale("ar", "SA")ব্যবহার করা হয়েছে আরব দেশ (Saudi Arabia)-এর জন্য নির্দিষ্ট ভাষা এবং অঞ্চল সেট করতে।DateTimeFormatterব্যবহার করা হয়েছে Hijri ক্যালেন্ডারের জন্য নির্দিষ্ট ফর্ম্যাটে তারিখ প্রদর্শন করতে।
Buddhist Calendar:
Buddhist Calendar একটি ঐতিহ্যবাহী ক্যালেন্ডার সিস্টেম যা মূলত Buddhism অনুসরণকারী দেশগুলোতে ব্যবহৃত হয়। এটি lunar-solar calendar এবং এটি Buddha's death year (BCE) থেকে তারিখ গণনা করে।
Buddhist Calendar ব্যবহারের উদাহরণ:
import java.time.*;
import java.time.format.DateTimeFormatter;
import java.util.*;
public class BuddhistCalendarExample {
public static void main(String[] args) {
// Buddhist Calendar এর জন্য Locale এবং DateTimeFormatter তৈরি করা
Locale buddhistLocale = new Locale("th", "TH"); // Thai Locale for Thailand
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd", buddhistLocale);
// Buddhist ক্যালেন্ডারে বর্তমান তারিখ প্রিন্ট করা
LocalDate buddhistDate = LocalDate.now(new BuddhistChronology());
System.out.println("Buddhist Date: " + buddhistDate.format(formatter));
}
}
ব্যাখ্যা:
BuddhistChronologyব্যবহার করে বৌদ্ধ ক্যালেন্ডারে তারিখ বের করা হয়েছে।Locale("th", "TH")ব্যবহার করা হয়েছে থাই ভাষা এবং অঞ্চল সিলেক্ট করার জন্য।DateTimeFormatterব্যবহার করে বৌদ্ধ ক্যালেন্ডারের তারিখ ফরম্যাট করা হয়েছে।
Alternative Calendars এর সমর্থন:
Java 8-এর java.time API তে Chronology নামে একটি ক্লাস রয়েছে, যা বিভিন্ন ক্যালেন্ডার সিস্টেমকে সমর্থন করে। এই ক্যালেন্ডার সিস্টেমগুলোর মধ্যে Gregorian, Hijri, Buddhist, Japanese, Minguo, এবং আরও অনেক ক্যালেন্ডার সিস্টেম অন্তর্ভুক্ত রয়েছে।
- HijrahChronology: ইসলামিক ক্যালেন্ডার।
- BuddhistChronology: বৌদ্ধ ক্যালেন্ডার।
- JapaneseChronology: জাপানি ক্যালেন্ডার।
- MinguoChronology: চাইনিজ ক্যালেন্ডার।
Alternative Calendar ব্যবহার করে তারিখ প্রদর্শন:
Gregorian Calendar থেকে Hijri Calendar এ কনভার্ট:
import java.time.*;
import java.time.chrono.*;
import java.time.format.*;
public class GregorianToHijriExample {
public static void main(String[] args) {
// Gregorian ক্যালেন্ডারে বর্তমান তারিখ
LocalDate gregorianDate = LocalDate.now();
// Hijri ক্যালেন্ডারে তারিখ কনভার্ট করা
HijrahDate hijriDate = HijrahDate.from(gregorianDate);
// DateTimeFormatter ব্যবহার করে ফর্ম্যাট করা
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd");
System.out.println("Gregorian Date: " + gregorianDate);
System.out.println("Hijri Date: " + hijriDate.format(formatter));
}
}
ব্যাখ্যা:
HijrahDate.from()মেথড ব্যবহার করে গ্রীগরিয়ান ক্যালেন্ডার থেকে ইসলামিক ক্যালেন্ডারে তারিখ কনভার্ট করা হয়েছে।
Java-তে Alternative Calendars ব্যবহার করার সুবিধা:
- Multilingual Support: Java তারিখ ও সময় সম্পর্কিত ডেটার localization এবং internationalization সহজ করে তোলে। বিভিন্ন অঞ্চলের ক্যালেন্ডার সিস্টেমের জন্য স্থানীয় রূপে ডেটা প্রদর্শন করা যায়।
- Cultural Relevance: বিভিন্ন অঞ্চলের লোকেরা তাদের নিজস্ব ক্যালেন্ডার ব্যবহারে অভ্যস্ত, যেমন ইসলামিক বা বৌদ্ধ ক্যালেন্ডার। Java এই ক্যালেন্ডারগুলোকে সমর্থন করে, যার ফলে সফটওয়্যার বিশ্বব্যাপী গ্রহণযোগ্য হয়।
- Consistency and Standardization:
java.timeAPI ক্যালেন্ডার সিস্টেমগুলো একাধিক স্ট্যান্ডার্ড এবং সংস্কৃতির মধ্যে একক অভিজ্ঞতা প্রদান করে। - Efficient Date Operations: Java-র Chronology এবং ChronoUnit ক্লাস ব্যবহার করে বিভিন্ন ক্যালেন্ডার সিস্টেমে ডেটা পরিচালনা এবং গণনা করা সম্ভব, যা উন্নত তারিখের অপারেশন সমর্থন করে।
Java ইন্টারন্যাশনালাইজেশন (i18n) alternative calendars সমর্থন করে, যা বিভিন্ন অঞ্চলের জন্য স্থানীয় ক্যালেন্ডার সিস্টেমে তারিখ প্রদর্শন করতে সহায়ক। Hijri, Buddhist, এবং অন্যান্য ক্যালেন্ডার সিস্টেম Java 8-এর java.time প্যাকেজের মাধ্যমে সমর্থিত এবং এগুলি ব্যবহার করে একাধিক অঞ্চলে সঠিক ডেটা প্রদর্শন করা যায়।
Chronology এবং ChronoUnit ক্লাসগুলির মাধ্যমে multiple calendars সমর্থন এবং তাদের মধ্যে পরিবর্তন সহজতর হয়েছে, যা multi-regional applications এর জন্য অত্যন্ত উপকারী।
Read more