java.sql.Timestamp(long)使用哪个时区?

时间:2014-09-30 14:15:27

标签: java sql oracle timestamp-with-timezone

通过仅指定constructor中的毫秒来构建SQL时间戳时,将使用哪个时区?以及如何选择是将UTC还是本地时区写入TIMESTAMP(6) WITH LOCAL TIME ZONE类型的Oracle数据库列?

1 个答案:

答案 0 :(得分:2)

时间戳(int year,int month,int date,int hour,int minute,int second,int nano)

时间戳(长时间) - 时间 - 自1970年1月1日00:00:00 GMT以来的毫秒数。负数是1970年1月1日00:00:00 GMT之前的毫秒数。

时间戳中没有时区

通常,如果假定时区,则为jvm default(系统默认值)

oracle数据类型是一种不同的野兽

Timezones in SQL DATE vs java.sql.Date

Oracle 10g Time Zone Confusion - 游戏中有3个时区

使用数据库时请使用Calendar或java.sql.Date

oracle驱动程序(和sql开发人员)可以将(其智能)日期从jvm时区(或严格来说,会话​​时区)转换为需要的日期

您可以使用 - alter session set time_zone ... How to get UTC value for SYSDATE on Oracle

更改会话时区

小心你正在做的事情

编写10个不同的测试用例

这个博客也很好http://tonyhasler.wordpress.com/2010/09/04/tonys-tirade-against-timestamp-with-time-zone/