如何基于查询设置 JDBC 的时区?



做到这一点的一种方法。

TimeZone.setDefault(TimeZone.getTimeZone("yourTimeZone"));

但是,它将影响整个JVM。有没有办法在安全的基础上进行此操作,并且不会对可能假定特定时区的申请或JVM产生影响?

在设置/获取Timestamp值时指定所需的时区。

PreparedStatement.setTimestamp(int parameterIndex, Timestamp x, Calendar cal)

使用日历对象,驱动程序可以考虑到定制时区的时间戳。如果未指定日历对象,则驱动程序使用默认时区,即运行该应用程序的虚拟机的默认时区。

ResultSet.getTimestamp(String columnLabel, Calendar cal)

如果基础数据库不存储时区信息,则使用给定日历为时间戳构造适当的毫秒值。

两者都使用日历的时区:

Calendar.getInstance(TimeZone zone)

使用指定时区和默认场所获取日历。

Calendar.setTimeZone(TimeZone value)

用给定时区值设置时区。

相关内容

  • 没有找到相关文章

最新更新