在从java.sql.Timestamp到joda DateTime

时间:2015-08-04 10:27:45

标签: java scala datetime type-conversion jodatime

我在尝试将java.sql.Timestamp类型的对象转换为时间对象org.joda.time.DateTime时尝试了一些stange问​​题。详细地说,时区设置不正确。

这是我的代码(scala语言):

val receptionDate = 
  new DateTime(tuple("RECEPTION_TIMESTAMP").asInstanceOf[Timestamp].getTime(), 
               DateTimeZone.UTC)

直接从数据库表(HBase)读取Timestamp对象,SQuirreL客户端显示的值如下:

2015-07-30 00:00:00.0

相反,创建的DateTime对象具有值2015-07-29 22:00:00.0。显然,在创建DateTime对象期间,不会使用我传递给构造函数的时区DateTimeZone.UTC的信息。

我做错了什么?错误在哪里?

1 个答案:

答案 0 :(得分:0)

此问题是由于您使用 本地时区(UTC-2) 来存储日期而未指定 UTC时区 ,但是当您使用设置 UTC时区 Hbase 检索日期时。所以他们是平等的,但不一样Timezone