การใช้งานLocalDateTime#parse()
(หรือZonedDateTime#parse()
ถ้าสตริงที่เกิดขึ้นจะมีส่วนโซนเวลา) เพื่อแยกในรูปแบบบางอย่างเป็นString
LocalDateTime
String oldstring = "2011-01-18 00:00:00.0";
LocalDateTime datetime = LocalDateTime.parse(oldstring, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.S"));
ใช้LocalDateTime#format()
(หรือZonedDateTime#format()
) เพื่อจัดรูปแบบLocalDateTime
a String
ในรูปแบบที่แน่นอน
String newstring = datetime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
System.out.println(newstring); // 2011-01-18
หรือเมื่อคุณไม่ได้อยู่ใน Java 8 ยังใช้SimpleDateFormat#parse()
ในการแยกวิเคราะห์ในรูปแบบบางอย่างเป็นString
Date
String oldstring = "2011-01-18 00:00:00.0";
Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S").parse(oldstring);
ใช้SimpleDateFormat#format()
เพื่อจัดรูปแบบDate
a String
ในรูปแบบที่แน่นอน
String newstring = new SimpleDateFormat("yyyy-MM-dd").format(date);
System.out.println(newstring); // 2011-01-18
ดูสิ่งนี้ด้วย:
ปรับปรุง : เป็นต่อความพยายามที่ล้มเหลวของคุณ: รูปแบบที่มีกรณีที่สำคัญ อ่านjava.text.SimpleDateFormat
javadocว่าแต่ละส่วนนั้นหมายถึงอะไร ยกตัวอย่างเช่นM
สำหรับเดือนและm
นาที นอกจากนี้ปียังมีตัวเลขสี่หลักyyyy
ไม่ใช่ห้าyyyyy
ปี ดูตัวอย่างโค้ดที่ฉันโพสต์ไว้ด้านบน