NLS-ondersteuning van het JDBC-stuurprogramma is vervallen in Oracle 10g . Hoe dan ook, ik raad je aan om niet te leunen op de Oracle-specifieke NLS-functionaliteit om je datums op te maken.
Ga als volgt te werk om een datum op te maken die is opgehaald uit een database in Java:
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));
Merk op dat een instantie van SimpleDateFormat herbruikbaar is, maar niet threadveilig .
Als u Java 8 gebruikt, wilt u misschien de nieuwe en verbeterde Java Time API gebruiken. Helaas is ResultSet nog niet bijgewerkt om een exemplaar van DateTime te retourneren, dus u moet converteren. Bekijk DateTimeFormatter en deze vraag over hoe u van oud naar nieuw kunt converteren. Naast andere voordelen is DateTimeFormatter volledig thread-safe.
De formaatpatronen voor zowel de oude als de nieuwe stijl zijn hetzelfde; hier zijn de documenten voor de nieuwe.