数据库和Web应用程序之间的日期不一致

时间:2011-12-14 22:20:06

标签: java mysql database spring date

我有一个弹簧webapp,它在前端接收日期。只是约会,没有时间。然后我将这些日期存储在java Date对象中,它们最终出现在Date对象的mysql数据库中。最初我遇到了数据库和前端之间没有对齐的日期问题。日期将在DB中显示12-15-2011,并在前端显示为12-14-2011。我以某种方式设法修复它并同步它(我想我已经停止了格式化时间方面)。

无论如何,现在我正在将webapp移动到我的服务器上(显然是在我的开发盒在EDT中时是GMT),问题又出现了。我在12-15-2011输入前端的日期,它传播到数据库并存储为12-15-2011。大。但是当我稍后显示该对象时,它显示为12-14-2011。我猜这与我的机器是EDT和服务器是GMT有关,但我该如何防止这种情况?我只想存储日期,没有时间。我是否必须停止使用Date个对象并坚持使用字符串?任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:3)

Java没有“Just Date,no Time”的概念(JodaTime没有,普通的Java没有)。因此,当您输入没有时间的日期时,时间设置为00:00:00。

您应该尝试弄清楚如何将服务器的时区设置为您的。

答案 1 :(得分:2)

我知道,这个答案有点泛,但如果它与TimeZone有关,请查看joda-time。它可能有用。