2016-08-23 3 views
-1

Ich versuche Zeichenfolge bisher für meine jdbc program.I zu konvertieren hat versucht, die folgende MethodeKonvertieren von String to date-JAVA

 DateFormat Formatter=null; 
     Date convertedDate=null; 
     Formatter=new SimpleDateFormat("DD-MMM-YYYY",Locale.ENGLISH); 
     try { 
      convertedDate=(Date)Formatter.parse(date); 
     } catch (ParseException e1) { 
      // TODO Auto-generated catch block 
      e1.printStackTrace(); 
     } 
     java.sql.Date sqlDate=new java.sql.Date(convertedDate.getTime()); 
     System.out.println(date); 
     System.out.println(convertedDate); 

Das Problem, das ich bin vor zum Beispiel ist, wenn ich '30 bin vorbei - NOV-2001 'als Parameter, wenn ich dies in Date mit DateFormat umwandele und es in ConvertedDate speichere, erhalte ich "Sun Dec 31 00:00:00 IST 2000" als Ausgabe, die offensichtlich falsch ist. Also bitte hilf mir darauf.

+3

versuchen mit Formatter = new Simple (“ dd-MMM-yyyy ", Gebietsschema.DEUTSCH); – SpringLearner

+2

[wie immer für die Formatierung, überprüfen Sie, was das Format ist, das Sie verwenden ...] (http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html) – SomeJavaGuy

Antwort

2

Sie brauchen "dd-MMM-yyyy" zu verwenden,

DateFormat Formatter=null; 
     Date convertedDate=null; 
     Formatter=new SimpleDateFormat("DD-MMM-YYYY",Locale.ENGLISH); 
     try { 
      convertedDate=(Date)Formatter.parse(date); 
     } catch (ParseException e1) { 
      // TODO Auto-generated catch block 
      e1.printStackTrace(); 
     } 
     java.sql.Date sqlDate=new java.sql.Date(convertedDate.getTime()); 
     System.out.println(date); 
     System.out.println(convertedDate); 

D bedeutet Tag im Jahr d bedeutet Tag im Monat

Blick Oracle docs für weitere Informationen

+0

danke es funktioniert :) –

+0

@SaiSankalp Ich bin froh – SpringLearner

+0

Ja, ich habe die Antwort akzeptiert.Auch danke für Ihre Hilfe :) –