Dukungan NLS dari driver JDBC dijatuhkan di Oracle 10g . Terlepas dari itu, saya sarankan Anda tidak bersandar pada fungsionalitas NLS khusus Oracle untuk memformat tanggal Anda.
Untuk memformat tanggal yang diambil dari database apa pun di Java, lakukan ini:
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));
Perhatikan bahwa instance SimpleDateFormat dapat digunakan kembali tetapi tidak aman untuk thread .
Jika Anda menggunakan Java 8, Anda mungkin ingin menggunakan Java Time API yang baru dan lebih baik. Sayangnya, ResultSet belum diperbarui untuk mengembalikan instance DateTime, jadi Anda harus mengonversi. Lihat DateTimeFormatter dan pertanyaan ini tentang bagaimana mengkonversi dari lama ke baru. Di antara kelebihan lainnya, DateTimeFormatter sepenuhnya aman untuk thread.
Pola format untuk gaya lama dan baru adalah sama; berikut adalah dokumennya untuk yang baru.