java.util.Date是 始终 UTC时间。因此,根据您的语言环境,可能会有偏移。
我听说过
Joda Time作为处理时间的更好的Java API。
无论如何,问题出在混合由
java.util.DateSQL 处理的日期和其他直接作为SQL一部分传递的日期。
只要您继续使用
java.util/sql.Date所有内容(并且您不会在数据库内部达到顶峰)(并且您不更改语言环境),结果就会保持一致。当您的SQL尝试直接将值作为文本传递时,麻烦就开始了。因此,无论是
Date在各处使用,还是如垃圾桶所说的,每次使用a时
Date,都要注意将语言环境设置为“
GMT”(这样内部表示形式和Date的输出是相同的)。请注意,这确实包括
Date从数据库返回的信息



