Dưới đây là một ví dụ hoạt động với các trường hợp thử nghiệm của bạn:
import java.text.SimpleDateFormat;
import java.util.Date;
public class StringToDateExample1 {
public static void main(String[] args)throws Exception {
String sDate1="20200913204839";
Date date1=new SimpleDateFormat("yyyyMMddhhmmss").parse(sDate1);
System.out.println(date1);
}
}
Với trường hợp thử nghiệm 20200913204839
nó trả về:
Sun Sep 13 20:48:39 UTC 2020
Đây là ý nghĩa của các ký tự trong SimpleDateFormat:
yyyy
biểu thị một năm (Ví dụ:2020)
MM
biểu thị một tháng (Ví dụ:tháng bảy, tháng tám)
dd
biểu thị một ngày trong một tháng (Ví dụ:15)
HH
biểu thị một giờ trong một ngày (Ví dụ:20)
mm
và ss
biểu thị phút và giây tương ứng (Ví dụ:52:34)
Nó không nhất thiết phải là Ngày - chỉ cần một Chuỗi hoạt động tốt.
Và có - sử dụng SimpleDateFormat hoạt động tốt.
CHỈNH SỬA:Định dạng cụ thể
Tôi đã định dạng nó cụ thể cho trường hợp của bạn:
import java.text.SimpleDateFormat;
import java.util.Date;
public class StringToDateExample1 {
public static void main(String[] args)throws Exception {
String sDate1="20200913204839";
Date date1=new SimpleDateFormat("yyyyMMddhhmmss").parse(sDate1);
String formatted = new SimpleDateFormat("dd-EE-yyyy hh:mm:ss").format(date1);
System.out.println(formatted);
}
}
Trước tiên, chúng tôi phân tích cú pháp Chuỗi thành một ngày, từ đó chúng tôi có thể định dạng.
Một trường hợp thử nghiệm 20200913204839
lợi nhuận:
13-Sun-2020 08:48:39