JDBCドライバーからのNLSサポートは、Oracle10gで削除されました。 。とにかく、日付をフォーマットするためにOracle固有のNLS機能に頼らないことをお勧めします。
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));
SimpleDateFormatのインスタンスは再利用可能ですが、スレッドセーフではないことに注意してください。 。
Java 8を使用している場合は、代わりに新しく改良されたJavaTimeAPIを使用することをお勧めします。残念ながら、ResultSetはまだDateTimeのインスタンスを返すように更新されていないため、変換する必要があります。 DateTimeFormatter
を確認してください。 および
古いスタイルと新しいスタイルのフォーマットパターンは同じです。 こちらのドキュメント 新しいもののために。