Java Internationalization (i18n)-এর একটি গুরুত্বপূর্ণ অংশ হলো Date এবং Time এর সঠিক প্রদর্শন এবং ব্যবস্থাপনা। বিভিন্ন অঞ্চলে (locale) এবং ভাষায় Date এবং Time এর ফরম্যাট আলাদা হতে পারে। Java তে এই কাজটি সহজে করার জন্য SimpleDateFormat ক্লাস ব্যবহার করা হয়।
SimpleDateFormat ক্লাসটি java.text প্যাকেজে অন্তর্ভুক্ত এবং এটি Date এবং Time ফরম্যাটিং এবং পার্সিং-এর জন্য ব্যবহৃত হয়। এর মাধ্যমে আপনি যে কোন Locale অনুযায়ী তারিখ এবং সময় প্রদর্শন করতে পারেন, এবং সেগুলি নির্দিষ্ট স্ট্রিং ফরম্যাটে কনভার্ট করতে পারেন।
SimpleDateFormat এর ব্যবহার:
SimpleDateFormat এর মাধ্যমে আপনি Date এবং Time প্রদর্শনের জন্য বিভিন্ন স্ট্রিং প্যাটার্ন নির্ধারণ করতে পারেন, যেমন:
yyyy-MM-dddd/MM/yyyyMM-dd-yyyy HH:mm:ssEEEE, MMM dd, yyyy
এছাড়াও, SimpleDateFormat ব্যবহার করে আপনি Date কে স্ট্রিং এ রূপান্তর করতে পারেন এবং এর বিপরীতও করতে পারেন (স্ট্রিং থেকে Date তে রূপান্তর)।
SimpleDateFormat এর উদাহরণ:
1. SimpleDateFormat ব্যবহার করে Date ফরম্যাট করা
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateFormattingExample {
public static void main(String[] args) {
// SimpleDateFormat অবজেক্ট তৈরি করা
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// বর্তমান সময় এবং তারিখ প্রাপ্ত করা
Date currentDate = new Date();
// ফরম্যাট করা তারিখ প্রিন্ট করা
String formattedDate = sdf.format(currentDate);
System.out.println("Formatted Date and Time: " + formattedDate);
}
}
ব্যাখ্যা:
SimpleDateFormat("yyyy-MM-dd HH:mm:ss")স্ট্রিং প্যাটার্নের মাধ্যমে Date এবং Time ফরম্যাট করা হয়েছে।format()মেথডের মাধ্যমে Date অবজেক্টকে স্ট্রিং ফরম্যাটে রূপান্তরিত করা হয়েছে।
আউটপুট:
Formatted Date and Time: 2024-12-22 14:30:45
2. Locale ভিত্তিক Date ফরম্যাটিং
Locale ব্যবহার করে আপনি একটি নির্দিষ্ট অঞ্চলের জন্য তারিখের ফরম্যাট নির্ধারণ করতে পারেন।
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
public class LocaleDateFormattingExample {
public static void main(String[] args) {
// Locale অবজেক্ট তৈরি করা
Locale locale = new Locale("fr", "FR"); // French Locale for France
// SimpleDateFormat অবজেক্ট তৈরি করা, Locale সাপোর্ট করে
SimpleDateFormat sdf = new SimpleDateFormat("EEEE, dd MMMM yyyy", locale);
// বর্তমান সময় এবং তারিখ প্রাপ্ত করা
Date currentDate = new Date();
// ফরম্যাট করা তারিখ প্রিন্ট করা
String formattedDate = sdf.format(currentDate);
System.out.println("Formatted Date in French: " + formattedDate);
}
}
ব্যাখ্যা:
- এখানে Locale ব্যবহার করে French (ফ্রান্স) অঞ্চলের জন্য তারিখ ফরম্যাট তৈরি করা হয়েছে।
SimpleDateFormat("EEEE, dd MMMM yyyy", locale)স্ট্রিং প্যাটার্নের মাধ্যমে নির্দিষ্ট অঞ্চলের জন্য তারিখ প্রদর্শন করা হয়েছে।
আউটপুট (যদি বর্তমান তারিখ 2024-12-22 হয়):
Formatted Date in French: dimanche, 22 décembre 2024
3. SimpleDateFormat দিয়ে Date Parsing (String to Date)
SimpleDateFormat ব্যবহার করে আপনি স্ট্রিং থেকে Date অবজেক্টে রূপান্তর করতে পারেন।
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateParsingExample {
public static void main(String[] args) {
// স্ট্রিং থেকে তারিখ প্যার্স করার জন্য SimpleDateFormat তৈরি করা
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateString = "2024-12-22 14:30:45";
try {
// String থেকে Date অবজেক্টে রূপান্তর করা
Date parsedDate = sdf.parse(dateString);
System.out.println("Parsed Date: " + parsedDate);
} catch (Exception e) {
e.printStackTrace();
}
}
}
ব্যাখ্যা:
parse()মেথড ব্যবহার করে একটি স্ট্রিং (যেমন"2024-12-22 14:30:45") Date অবজেক্টে রূপান্তরিত হচ্ছে।- এটি ফরম্যাট অনুসারে তারিখ প্যার্স করবে এবং যদি ফরম্যাট সঠিক না হয় তবে
ParseExceptionছুঁড়ে ফেলবে।
আউটপুট:
Parsed Date: Sun Dec 22 14:30:45 IST 2024
SimpleDateFormat এর প্রধান প্যাটার্ন:
| প্যাটার্ন | বর্ণনা |
|---|---|
yyyy | চার ডিজিটের বছর (যেমন 2024) |
MM | দুই ডিজিটের মাস (যেমন 01, 12) |
dd | দুই ডিজিটের দিন (যেমন 01, 31) |
HH | 24 ঘণ্টার ঘন্টা (যেমন 14, 20) |
mm | মিনিট (যেমন 05, 59) |
ss | সেকেন্ড (যেমন 07, 59) |
EEE | সপ্তাহের নাম (যেমন Mon, Tue) |
MMMM | পুরো মাসের নাম (যেমন January, December) |
a | AM/PM 표시 |
Date এবং Time এর Localization:
- Locale নির্ধারণ:
- একটি নির্দিষ্ট Locale (ভাষা এবং অঞ্চল) অনুযায়ী Date এবং Time ফরম্যাট করা হয়।
- উদাহরণ:
Locale.US,Locale.FRANCE,Locale.JAPANইত্যাদি।
- Internationalization (i18n) এবং Localization (l10n):
- i18n এর মাধ্যমে আপনি আপনার প্রোগ্রামটি multiple languages এবং regions এর জন্য প্রস্তুত করতে পারেন।
- l10n এর মাধ্যমে আপনি Date, Currency, Time ইত্যাদি স্থানীয় ভাষায় এবং অঞ্চলে কাস্টমাইজ করতে পারেন।
- SimpleDateFormat Java তে Date এবং Time ফরম্যাটিং এবং প্যার্সিং করার জন্য একটি গুরুত্বপূর্ণ ক্লাস।
- এটি ব্যবহার করে আপনি Date এবং Time কে নির্দিষ্ট string format-এ রূপান্তর করতে পারেন এবং এর বিপরীতে স্ট্রিং থেকে Date অবজেক্টে রূপান্তর করতে পারেন।
- Locale ব্যবহার করে আপনি নির্দিষ্ট region এবং language অনুযায়ী Date এবং Time ফরম্যাট করতে পারেন, যা Java Internationalization (i18n) এবং Localization (l10n) এর জন্য অত্যন্ত গুরুত্বপূর্ণ।
Read more