Sử dụng LocalDateTime#parse()
(hoặc ZonedDateTime#parse()
nếu chuỗi xảy ra để chứa một phần múi giờ) để phân tích một mẫu String
trong một mẫu nhất định thành một LocalDateTime
.
String oldstring = "2011-01-18 00:00:00.0";
LocalDateTime datetime = LocalDateTime.parse(oldstring, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.S"));
Sử dụng LocalDateTime#format()
(hoặc ZonedDateTime#format()
) để định dạng a LocalDateTime
thành một String
mẫu nhất định.
String newstring = datetime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
System.out.println(newstring); // 2011-01-18
Hoặc , khi bạn chưa có trên Java 8, hãy sử dụng SimpleDateFormat#parse()
để phân tích một String
mẫu theo một mẫu nhất định thành một Date
.
String oldstring = "2011-01-18 00:00:00.0";
Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S").parse(oldstring);
Sử dụng SimpleDateFormat#format()
để định dạng a Date
thành một String
trong một mẫu nhất định.
String newstring = new SimpleDateFormat("yyyy-MM-dd").format(date);
System.out.println(newstring); // 2011-01-18
Xem thêm:
Cập nhật : theo nỗ lực thất bại của bạn: các mẫu có phân biệt chữ hoa chữ thường . Đọc java.text.SimpleDateFormat
javadoc những gì các phần riêng lẻ đại diện cho. Vì vậy, ví dụ M
cho tháng và m
trong vài phút. Ngoài ra, năm tồn tại của bốn chữ số yyyy
, không phải năm yyyyy
. Nhìn kỹ hơn các đoạn mã tôi đã đăng ở đây.