Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Wie konvertiere ich eine Zeichenfolge in ein Datumsformat, um es in der Datenbank zu speichern?

Hier ist ein Beispiel, das mit Ihren Testfällen funktioniert:

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);
    }  
}  

Mit Testfall 20200913204839 es gibt zurück:

Sun Sep 13 20:48:39 UTC 2020

Folgendes bedeuten die Zeichen im SimpleDateFormat:

yyyy steht für ein Jahr (Beispiel:2020)

MM bedeutet einen Monat (Beispiel:Juli, August)

dd bedeutet einen Tag in einem Monat (Beispiel:15)

HH bedeutet eine Stunde an einem Tag (Beispiel:20)

mm und ss bedeuten Minuten bzw. Sekunden (Beispiel:52:34)

Es muss kein Datum sein - nur ein String funktioniert gut.

Und ja - die Verwendung von SimpleDateFormat funktioniert einwandfrei.

BEARBEITEN:Spezifische Formatierung

Ich habe es speziell für Ihren Fall formatiert:

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);
    }  
} 

Zuerst parsen wir den String in ein Datum, aus dem wir formatieren können.

Ein Testfall 20200913204839 gibt zurück:

13-Sun-2020 08:48:39