sql >> Base de Datos >  >> RDS >> Oracle

NLS_DATE_FORMAT con JDBC

El soporte NLS del controlador JDBC fue soltado en Oracle 10g . De todos modos, le recomiendo que no se apoye en la funcionalidad NLS específica de Oracle para formatear sus fechas.

Para formatear una fecha recuperada de cualquier base de datos en Java, haga esto:

Connection conn = ods.getConnection();
Statement stat = conn.createStatement();

ResultSet rs = stat.executeQuery("select date_column from test_table");

DateFormat format = new SimpleDateFormat('yyyy-dd-MM');
System.out.println(format.format(rs.getDate(1));

Tenga en cuenta que una instancia de SimpleDateFormat es reutilizable pero no segura para subprocesos .

Si está utilizando Java 8, es posible que desee utilizar la nueva y mejorada Java Time API en su lugar. Desafortunadamente, ResultSet aún no se ha actualizado para devolver una instancia de DateTime, por lo que debe convertir. Consulte DateTimeFormatter y esta pregunta sobre cómo convertir de viejo a nuevo. Entre otras ventajas, DateTimeFormatter es totalmente seguro para subprocesos.

Los patrones de formato tanto para el estilo antiguo como para el nuevo son los mismos; aquí están los documentos por el nuevo.