从ResultSet读取日期作为字符串时的默认JDBC日期格式

Tim*_*Tim 6 java jdbc

我正在查看一些基本上执行以下操作的代码:

ResultSet rs = ps.executeQuery();
String myDateStr = rs.getString("MY_DATE"); //field is of type Date
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss'.0'");
Date myDate = sdf.parse(myDateStr);
Run Code Online (Sandbox Code Playgroud)

在某些环境中,最后一行工作,而在其他环境中,它会抛出一个Unparseable日期异常.在某些系统上,默认日期格式为2013-01-25 00:00:00.0,其他系统在2013-01-25 00:00:00.JVM,OS和Oracle版本在环境之间是不同的(尽管使用Oracle并运行在unix变体上).

更改代码可能很复杂.我想知道是否有一个环境变量或类似的可以设置为使rs.getString()返回的日期格式一致?

Jim*_*son 2

如果该字段的类型为Date,则将其读取为 a java.sql.Date,然后执行您需要的任何转换。否则你就会受到数据库实现的支配。