有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

乔达皈依。时间DateTime到java。sql。日期和时区

我有以下情况:

  • 返回Calendar对象的Swing控件
  • 中间DateTime对象,我用它来进行大量的日期/时间操作(joda)
  • 仅接受java.sql.Date对象的数据库连接(OraclePreparedStatement

我的问题是CalendarDateTime对象正确地显示了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) 个答案