2012-12-31 16 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); 

ho l'uscita comeCome ottenere un oggetto Date da String

data controller Lun 31 Dic 16:04:57 IST 2012

Si prega di suggerire un metodo per l'uscita la data nel formato MM/dd/yyyy HH:mm:ss. bisogno l'output in formato della data e non come stringa in modo da memorizzare l'output in datetime campo in mysql db

+0

necessario archiviare in db come datetime – divyanair

risposta

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

Dopo la dichiarazione

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

si dispone di un oggetto java.util.Date e è possibile archiviarlo come è in mysql DB (tipo di colonna: data/ora).

Tuttavia, quando si stampa d, per impostazione predefinita è l'implementazione .toString(). Penso che tu abbia previsto un output come Date @ ma il toString stampato in formato leggibile dall'utente è il motivo per cui la confusione.

+1

Penso che sia necessario convertire l'oggetto 'java.util.Date'' d' nell'oggetto 'java.sql.Date':' java.sql.Date sqldate = new java.sql.Date (d.getTime()); 'e quindi inserirlo nel database. –

+0

ha aggiornato il codice – Rahul

+0

grazie per l'aggiornamento – divyanair

1

Si utilizza d un oggetto di Date classe, in modo il suo metodo toString viene chiamato che fornisce l'output come Mon Dec 31 16:04:57 IST 2012.

Se si desidera visualizzare nel formato che avete specificato nella SimpleDateFormat poi provare a utilizzare questo:

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

Prova utilizzando il formato invece di parsing.

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

Non vedo perché i singoli-qoutes (') sono utilizzati nel formato stringa ed è inoltre necessario per la cattura 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); 
Problemi correlati