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

Java 数据库和web应用程序之间的日期不一致,java,mysql,database,spring,date,Java,Mysql,Database,Spring,Date,我有一个SpringWebApp,它在前端接收日期。只是约会,没有时间。然后,我将这些日期存储在javaDate对象中,它们最终以日期对象的形式存储在mysql数据库中。起初,我对数据库和前端之间的日期不一致有问题。日期将在DB中显示为2011年12月15日,并在前端显示为2011年12月14日。但我还是设法修复了它并将其同步(我想我阻止了它与时间方面的格式设置) 无论如何,现在我正在将webapp移动到我的服务器上(显然是在GMT,而我的开发箱在EDT中),问题又出现了。我在前端输入一个日期为

我有一个SpringWebApp,它在前端接收日期。只是约会,没有时间。然后,我将这些日期存储在java
Date
对象中,它们最终以日期对象的形式存储在mysql数据库中。起初,我对数据库和前端之间的日期不一致有问题。日期将在DB中显示为2011年12月15日,并在前端显示为2011年12月14日。但我还是设法修复了它并将其同步(我想我阻止了它与时间方面的格式设置)


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

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


您应该尝试找出如何将服务器的时区设置为您的时区。

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


您应该尝试找出如何将服务器的时区设置为您的时区。

我知道,这个答案有点笼统,但如果它与时区有关,请查看。这可能有用。

我知道,这个答案有点笼统,但如果它与时区有关,请查看。它可能有用。

我曾经研究过使用JodaTime,但如果我没记错的话,在服务器上的日期列中输入JodaTime对象似乎有问题。有什么建议吗?我必须将它从JodaTime对象转换为Java日期对象吗?感谢您的回复。我曾经研究过使用JodaTime,但是如果我没记错的话,在服务器上的日期列中输入JodaTime对象似乎有问题。有什么建议吗?我必须将它从JodaTime对象转换为Java日期对象吗?谢谢你的回复。