做到这一点的一种方法。
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)
用给定时区值设置时区。