乔达皈依。时间DateTime到java。sql。日期和时区
我有以下情况:
- 返回
Calendar
对象的Swing控件 - 中间
DateTime
对象,我用它来进行大量的日期/时间操作(joda) - 仅接受
java.sql.Date
对象的数据库连接(OraclePreparedStatement
)
我的问题是Calendar
和DateTime
对象正确地显示了GMT中的日期(这是我想要的),但当我转换为java.sql.Date
以便发送到数据库时,日期会转换为本地时区
例如:
Calendar
和{}是2012-08-13T23:59:59.000Z(正确的GMT) - 结果
java.sql.Date
是2012-08-14(不正确的当地UTC+2日期)
下面是我用来进行转换的代码
DateTime dateGmt = new DateTime(calendarGmt.getTimeInMillis(), DateTimeZone.UTC);
java.sql.Date sqlDate = new java.sql.Date(dateGmt.getMillis());
我不知道如何在保留正确时区的同时创建java.sql.Date
对象。也完全有可能我做了不正确的转换
共 (0) 个答案