แพ็คเกจ java.text มีคลาสชื่อ SimpleDateFormat ซึ่งใช้ในการจัดรูปแบบและแยกวิเคราะห์วันที่ตามต้องการ (ในเครื่อง)
หนึ่งในตัวสร้างของคลาสนี้ยอมรับค่า String ที่แสดงรูปแบบวันที่ที่ต้องการและตัวสร้าง วัตถุ SimpleDateFormat .
รูปแบบ() เมธอดของคลาสนี้ยอมรับ java.util.Date วัตถุและส่งคืนสตริงวันที่/เวลาในรูปแบบที่แสดงโดยวัตถุปัจจุบัน
ดังนั้น เพื่อแยกสตริงวันที่เป็นรูปแบบวันที่อื่น -
-
รับสตริงวันที่ป้อน
-
แปลงเป็นวัตถุ 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 {
public static Date StringToDate(String dob) throws ParseException {
//Instantiating the SimpleDateFormat class
SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");
//Parsing the given String to Date object
Date date = formatter.parse(dob);
System.out.println("Date object value: "+date);
return date;
}
public static void main(String args[]) throws ParseException {
//Reading name and date of birth from the user
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();
//Converting String to Date
Date date = FormattingDate.StringToDate(dob);
System.out.println("Select 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 the format: MM-dd-yyyy");
System.out.println(new SimpleDateFormat("MM-dd-yyyy").format(date));
break;
case 'b':
System.out.println("Date in in the format: dd-MM-yyyy");
System.out.println(new SimpleDateFormat("dd-MM-yyyy").format(date));
break;
case 'c':
System.out.println("Date in the format: yyyy-MM-dd");
System.out.println(new SimpleDateFormat("yyyy-MM-dd").format(date));
break;
default:
System.out.println("Model not found");
break;
}
}
} ผลลัพธ์
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