webentwicklung-frage-antwort-db.com.de

Datumskonvertierung von String in SQL Datum in Java mit unterschiedlicher Ausgabe?

Ich habe eine String-Form von Date. Ich muss es in Sql Date ändern. Deshalb habe ich den folgenden Code verwendet. 

String startDate="01-02-2013";
SimpleDateFormat sdf1 = new SimpleDateFormat("dd-mm-yyyy");
Java.util.Date date = sdf1.parse(startDate);
Java.sql.Date sqlStartDate = new Java.sql.Date(date.getTime());  

wenn ich den oben genannten Code verwendet habe und ausgeführt habe. Ich habe folgende Ausgabe erhalten. 

2013-01-01.  

Hier wird Monat nicht korrekt konvertiert.
Bitte sagen Sie mir, wo das Problem liegt und geben Sie Beispielcode an, um ein korrektes Ergebnis zu erhalten.

21
Mr.Chowdary

mm ist Minuten . Sie möchten MM für Monate :

SimpleDateFormat sdf1 = new SimpleDateFormat("dd-MM-yyyy");

Fühlen Sie sich nicht schlecht - dieser genaue Fehler kommt häufig vor.

41
Bohemian

mmsteht für "Minuten" . Verwenden Sie stattdessen MM:

SimpleDateFormat sdf1 = new SimpleDateFormat("dd-MM-yyyy");
7
NPE

Das ist der einfache Weg, um String in Nutzungsdatum und SQL-Datum zu konvertieren 

String startDate="12-31-2014";
SimpleDateFormat sdf1 = new SimpleDateFormat("MM-dd-yyyy");
Java.util.Date date = sdf1.parse(startDate);
Java.sql.Date sqlStartDate = new Java.sql.Date(date.getTime()); 
4
Zeeshan Akhter

Sie müssen MM verwenden, da mm für minutes steht.

Es gibt zwei Möglichkeiten, month -Muster zu erzeugen.

SimpleDateFormat sdf1 = new SimpleDateFormat("dd-MM-yyyy"); //outputs month in numeric way, 2013-02-01

SimpleDateFormat sdf2 = new SimpleDateFormat("dd-MMM-yyyy"); // Outputs months as follows, 2013-Feb-01

Vollständiger Codierungsausschnitt:

        String startDate="01-Feb-2013"; // Input String
        SimpleDateFormat sdf1 = new SimpleDateFormat("dd-MM-yyyy"); // New Pattern
        Java.util.Date date = sdf1.parse(startDate); // Returns a Date format object with the pattern
        Java.sql.Date sqlStartDate = new Java.sql.Date(date.getTime());
        System.out.println(sqlStartDate); // Outputs : 2013-02-01
2
Dulith De Costa