2012-09-03 19 views
0

乔达时间的DateTime类在UTC时区给定时持续不同吗?时间戳看起来不寻常(可能全是零)。DataNucleus是否将JodaTime的DateTime与非本地时区保持不同?

乔达时间创造他们就好了new DateTime(DateTimeZone.UTC)。他们是否以一种不熟悉的格式保存在PostgreSQL中?

"2012-09-02 23:43:44.642-07" 
"2012-09-03 00:05:01.517-07" 
"2012-09-03 00:10:30.704-07" 
"1969-12-31 16:00:00-08" 
"2012-09-03 00:23:40.556-07" 
"1969-12-31 16:00:00-08" 
"1969-12-31 16:00:00-08" 
"1969-12-31 16:00:00-08" 

的版本是:

  1. PostgreSQL相关9.1-901.jdbc4.jar
  2. DataNucleus将核心/ RDBMS 3.1.1
  3. DataNucleus将约达时间3.1.0释放。

谢谢。

+0

很明显,你将它们保持为字符串形式,所以也许问Jodatime为什么它会从toString()方法生成这些字符串? – DataNucleus

+0

@DataNucleus,DateTime使用toString()正确打印,但PostgreSQL字段类型是“带时区的时间戳”,这听起来不兼容。我可以选择字段类型吗? –

+0

@DataNucleus,当我指定@Column(jdbcType =“VARCHAR”,length = 40)时,该字段保持正确。为什么它不适用于SQL时间戳? –

回答

0

正如评论中详细说明的那样,问题是通过将PostgreSQL的JDBC4驱动程序升级到'postgresql-9.1-901-1.jdbc4.jar'来解决的。