Несоответствие даты между базой данных и веб-приложением - PullRequest
1 голос
/ 15 декабря 2011

У меня есть весеннее веб-приложение, которое принимает даты на передней части.Просто даты, а не времена.Затем я сохраняю эти даты в объектах java Date, и они попадают в базу данных mysql в объект Date.Первоначально у меня были проблемы с датами, не выравнивая между DB и Front end.Дата будет отображаться в базе данных 12-15-2011 и отображаться как 12-14-2011 во внешней части.Мне каким-то образом удалось это исправить и синхронизировать (кажется, я остановил форматирование с учетом времени).

Во всяком случае, теперь, когда я перемещаю веб-приложение на свой сервер (который, очевидно, в GMTпока моя коробка разработки находится в EDT) проблема возникла снова.Я ввожу дату во внешний интерфейс как 12-15-2011, и она распространяется на базу данных и сохраняется как 12-15-2011.Отлично.Но потом, когда я покажу объект позже, он будет отображаться как 12-14-2011.Я предполагаю, что это как-то связано с тем, что моя машина - EDT, а сервер - GMT, но как мне предотвратить это?Я просто хочу сохранить дату, не раз.Должен ли я прекратить использование Date объектов и просто придерживаться строк?Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

3 голосов
/ 15 декабря 2011

В Java нет понятия «Просто дата, нет времени» (JodaTime, просто Java не имеет).Поэтому, когда вы вводите дату без времени, время устанавливается на 00: 00: 00.

Вы должны попытаться выяснить, как вместо этого установить часовой пояс вашего сервера.

2 голосов
/ 15 декабря 2011

Этот ответ немного общий, я знаю, но если он связан с TimeZone, посмотрите joda-time .Это может быть полезно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...