java.text.SimpleDateFormat ক্লাস ব্যবহার করে ডেট ফরম্যাটিং এবং পার্সিং করা হয়। এটি লোকেল-সেনসিটিভ।
পদ্ধতি
- ইনপুট ডেট স্ট্রিং নিন।
SimpleDateFormatদিয়ে সেটিকেjava.util.Dateঅবজেক্টে পার্স করুন (ইনপুট ফরম্যাট দিয়ে)।- আউটপুট ফরম্যাটে নতুন
SimpleDateFormatতৈরি করুন। format(date)কল করে আউটপুট স্ট্রিং পান।
উদাহরণ: ইন্টারঅ্যাক্টিভ ডেট ফরম্যাট কনভার্টার
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class FormattingDate {
// স্ট্রিংকে Date অবজেক্টে পার্স (ইনপুট ফরম্যাট: dd-MM-yyyy)
public static Date StringToDate(String dob) throws ParseException {
SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");
Date date = formatter.parse(dob);
System.out.println("Date object value: " + date);
return date;
}
public static void main(String args[]) throws ParseException {
Scanner sc = new Scanner(System.in);
System.out.println("Enter your name: ");
String name = sc.next();
System.out.println("Enter your date of birth (dd-MM-yyyy): ");
String dob = sc.next();
Date date = StringToDate(dob);
System.out.println("Select output format: ");
System.out.println("a: MM-dd-yyyy || b: dd-MM-yyyy || c: yyyy-MM-dd ");
char ch = sc.next().toCharArray()[0];
switch (ch) {
case 'a':
System.out.println("Date in MM-dd-yyyy: " + new SimpleDateFormat("MM-dd-yyyy").format(date));
break;
case 'b':
System.out.println("Date in dd-MM-yyyy: " + new SimpleDateFormat("dd-MM-yyyy").format(date));
break;
case 'c':
System.out.println("Date in yyyy-MM-dd: " + new SimpleDateFormat("yyyy-MM-dd").format(date));
break;
default:
System.out.println("Invalid option");
}
}
}
আউটপুট
Enter your name: Krishna Enter your date of birth (dd-MM-yyyy): 26-09-1989 Date object value: Tue Sep 26 00:00:00 IST 1989 Select format: a: MM-dd-yyyy || b: dd-MM-yyyy || c: yyyy-MM-dd a Date in the format: MM-dd-yyyy 09-26-1989
মডার্ন বিকল্প (Java 8+): java.time প্যাকেজ (LocalDate, DateTimeFormatter) ব্যবহার করা উচিত। এটি থ্রেড-সেফ, ইমিউটেবল এবং আরও শক্তিশালী।
// Java 8+ Style
LocalDate date = LocalDate.parse("26-09-1989", DateTimeFormatter.ofPattern("dd-MM-yyyy"));
String out = date.format(DateTimeFormatter.ofPattern("MM-dd-yyyy"));