Obsługa NLS ze sterownika JDBC została porzucona w Oracle 10g . Niezależnie od tego sugeruję, abyś nie opierał się na specyficznej dla Oracle funkcji NLS do formatowania dat.
Aby sformatować datę pobraną z dowolnej bazy danych w Javie, wykonaj następujące czynności:
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));
Zwróć uwagę, że instancja SimpleDateFormat może być wielokrotnego użytku, ale nie jest bezpieczna dla wątków .
Jeśli używasz Javy 8, możesz zamiast tego użyć nowego i ulepszonego interfejsu Java Time API. Niestety, ResultSet nie został jeszcze zaktualizowany, aby zwracał instancję DateTime, więc musisz dokonać konwersji. Sprawdź DateTimeFormatter i to pytanie o tym, jak przekonwertować ze starego na nowy. Wśród innych zalet DateTimeFormatter jest w pełni bezpieczny dla wątków.
Wzorce formatu dla starego i nowego stylu są takie same; tutaj są dokumenty dla nowego.