【发布时间】:2014-11-25 05:08:05
【问题描述】:
在通过仅指定constructor 中的毫秒来构建 SQL 时间戳时,将使用哪个时区?以及如何选择将UTC或本地时区写入TIMESTAMP(6) WITH LOCAL TIME ZONE类型的Oracle数据库列?
【问题讨论】:
标签: java sql oracle timestamp-with-timezone
在通过仅指定constructor 中的毫秒来构建 SQL 时间戳时,将使用哪个时区?以及如何选择将UTC或本地时区写入TIMESTAMP(6) WITH LOCAL TIME ZONE类型的Oracle数据库列?
【问题讨论】:
标签: java sql oracle timestamp-with-timezone
时间戳(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 默认值(系统默认值)
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/
【讨论】: