una - Conversión de fecha de Java a indicación de fecha y hora Sql
insertar hora en mysql desde java (5)
Eche un vistazo a SimpleDateFormat
:
java.util.Date utilDate = new java.util.Date();
java.sql.Timestamp sq = new java.sql.Timestamp(utilDate.getTime());
SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
System.out.println(sdf.format(sq));
Estoy intentando insertar java.util.Date
después de convertirlo a java.sql.Timestamp y estoy usando el siguiente fragmento de código:
java.util.Date utilDate = new java.util.Date();
java.sql.Timestamp sq = new java.sql.Timestamp(utilDate.getTime());
Pero esto me está dando sq
como 2014-04-04 13:30:17.533
¿Hay alguna manera de obtener la salida sin milisegundos?
El problema es con la forma en que está imprimiendo los datos de tiempo
java.util.Date utilDate = new java.util.Date();
java.sql.Timestamp sq = new java.sql.Timestamp(utilDate.getTime());
System.out.println(sa); //this will print the milliseconds as the toString() has been written in that format
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(sdf.format(timestamp)); //this will print without ms
Puede cortar los milisegundos usando un Calendar
:
java.util.Date utilDate = new java.util.Date();
Calendar cal = Calendar.getInstance();
cal.setTime(utilDate);
cal.set(Calendar.MILLISECOND, 0);
System.out.println(new java.sql.Timestamp(utilDate.getTime()));
System.out.println(new java.sql.Timestamp(cal.getTimeInMillis()));
Salida:
2014-04-04 10:10:17.78
2014-04-04 10:10:17.0
Sugiero usar DateUtils de la biblioteca apache.commons.
long millis = DateUtils.truncate(utilDate, Calendar.MILISECONDS).getTime();
java.sql.Timestamp sq = new java.sql.Timestamp(millis );
java.util.Date utilDate = new java.util.Date();
java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());
System.out.println("utilDate:" + utilDate);
System.out.println("sqlDate:" + sqlDate);
Esto me da el siguiente resultado:
utilDate:Fri Apr 04 12:07:37 MSK 2014
sqlDate:2014-04-04