Oracle
 sql >> Database >  >> RDS >> Oracle

NLS_DATE_FORMAT con JDBC

Il supporto NLS dal driver JDBC è stato rilasciato in Oracle 10g . In ogni caso, ti consiglio di non affidarti alla funzionalità NLS specifica di Oracle per formattare le tue date.

Per formattare una data recuperata da qualsiasi database in Java, procedere come segue:

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));

Nota che un'istanza di SimpleDateFormat è riutilizzabile ma non thread-safe .

Se stai utilizzando Java 8, potresti voler utilizzare invece la nuova e migliorata Java Time API. Sfortunatamente, ResultSet non è stato ancora aggiornato per restituire un'istanza di DateTime, quindi devi convertire. Dai un'occhiata a DateTimeFormatter e questa domanda su come convertire da vecchio a nuovo. Tra gli altri vantaggi, DateTimeFormatter è completamente thread-safe.

I modelli di formato sia per il vecchio che per il nuovo stile sono gli stessi; ecco i documenti per quello nuovo.