HSQL 数据库中的日期在 fastTime 字段中返回负值
Posted
技术标签:
【中文标题】HSQL 数据库中的日期在 fastTime 字段中返回负值【英文标题】:Dates from HSQL Database returns negative values in fastTime field 【发布时间】:2013-03-06 17:06:04 【问题描述】:我从我的 HSQL 数据库中提取日期,它们显示正确,但在内部它们似乎是错误的。大多数日期都是默认值,其值为 1970-01-01。在调试时,我可以看到一个名为“fastTime”的字段,它说它是 -3.600.000,正好是它应该是前一分钟......
当我现在将这些日期与一些 fastTime 为 0 的生成值混合在一起时,比较错误并且选择了错误的日期。
这非常烦人,因为现在仅在从 DB 中提取值时添加该值即可,但切换到另一个 DBMS 将需要还原此更改。
所以..这只是一个错误还是发生了什么?
【问题讨论】:
【参考方案1】:如果日期显示正确,那么它们对于您的时区是正确的。
如果 fastTime 指示您报告的值,则表示您的时区是 GMT+1 小时。如果 fastTime 为 0,则日期将表示 GMT 的午夜,而不是您的时区。
当您在 Java 中对属于不同区域的日期进行比较时,您需要考虑时区。为此,您可以使用 Java 日历对象。
【讨论】:
虽然这是一个很好的提示 - 为什么它只是一分钟的偏移量?如果是一个小时,它会适合你的答案,但不是一分钟,这对我来说似乎是错误的。 3600000 毫秒是一小时,而不是一分钟以上是关于HSQL 数据库中的日期在 fastTime 字段中返回负值的主要内容,如果未能解决你的问题,请参考以下文章