Zde je příklad, který funguje s vašimi testovacími případy:
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);
}
}
S testovacím případem 20200913204839
vrátí:
Sun Sep 13 20:48:39 UTC 2020
Zde je význam znaků ve formátu SimpleDateFormat:
yyyy
znamená rok (příklad:2020)
MM
znamená měsíc (příklad:červenec, srpen)
dd
znamená den v měsíci (příklad:15)
HH
znamená hodinu za den (příklad:20)
mm
a ss
znamenají minuty a sekundy (příklad:52:34)
Nemusí to být datum – stačí řetězec.
A ano – použití SimpleDateFormat funguje dobře.
UPRAVIT:Specifické formátování
Naformátoval jsem jej speciálně pro váš případ:
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);
}
}
Nejprve analyzujeme řetězec na datum, ze kterého můžeme formátovat.
Testovací případ 20200913204839
vrátí:
13-Sun-2020 08:48:39