2012-12-31 18 views
5
DateFormat formatter = new SimpleDateFormat("MM/dd/yyyy' 'HH:mm:ss"); 
Date d = (Date)formatter.parse(dateTime); 
System.out.println("date in controller "+d); 

uzyskać wyjście jakoJak uzyskać obiekt Date od String

daty w sterowniku Pon Mar 31 16:04:57 IST 2012

Proszę zaproponować metodę wyjścia data w formacie MM/dd/yyyy HH:mm:ss. Need wyjście w formacie daty, a nie jako ciąg tak, aby przechowywać dane wyjściowe w datetime polu w mysql db

+0

trzeba przechowywać w db jako datetime – divyanair

Odpowiedz

2
Need the output in date format and not as string so as to store the output in datetime field in mysql db 

po oświadczeniu

Date d = (Date)formatter.parse(dateTime); 
java.sql.Date sqldate = new java.sql.Date(d.getTime()) 

masz obiekt java.util.Date i możesz go przechowywać tak, jak jest w mysql DB (typ kolumny: datetime).

Jednak podczas drukowania d domyślnie jest to implementacja .toString(). Myślę, że spodziewałeś się pewnych wyników, takich jak Date @, ale toString wydrukowano w formacie czytelnym dla użytkownika, dlatego to zamieszanie.

+1

Myślę, że konieczne jest przekonwertowanie obiektu 'java.util.Date'' d' na obiekt 'java.sql.Date':' java.sql.Date sqldate = new java.sql.Date (d.getTime()); ', a następnie umieść go w bazie danych. –

+0

zaktualizował kod – Rahul

+0

thanxs do aktualizacji – divyanair

1

Używasz d przedmiotem Date klasy, więc jego metoda toString nazywa który daje wyjście jako Mon Dec 31 16:04:57 IST 2012.

Jeśli chcesz wyświetlić go w formacie, który został określony w SimpleDateFormat następnie spróbuj to:

DateFormat formatter = new SimpleDateFormat("MM/dd/yyyy' 'HH:mm:ss"); 
Date d = (Date)formatter.parse(dateTime); 
System.out.println("date in controller "+ formatter.format(d)); 
0
SimpleDateFormat df = new SimpleDateFormat("MM/dd/yyyy' 'HH:mm:ss"); 
System.out.println("date in controller"+ df.format(d)); 
0

Spróbuj użyć formatu zamiast parse.

Date date = new Date(); 
String DATE_FORMAT = "MM/dd/yyyy";  
SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT);   
System.out.println("Today is " + sdf.format(date)); 
1

nie rozumiem, dlaczego jednorazowego qoutes (') są stosowane w formacie-string i trzeba także złapać ParseException:

DateFormat formatter = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss"); 
Date d = new Date(); 
try { 
    d = (Date)formatter.parse("12/31/2012 12:13:14"); 
} catch(ParseException pex) { System.out.println(pex.getMessage()); } 
// convert the date into java.sql.Date 
java.sql.Date sqldate = new java.sql.Date(d.getTime()); 
// then put it in the database, something like this: 
//resultSet.updateDate("myDateTimeField", sqldate); 
Powiązane problemy