2012-01-09 6 views
2

Я использую GWT/Hibernate. У меня есть форма, созданная с использованием GWT. он имеет одно поле даты, в котором пользователь может выбрать дату и одну снизу, где отображаются все временные интервалы. теперь пользователь выбирает дату и часовой пояс из раскрывающегося списка. при нажатии кнопки сохранения мне нужно сохранить информацию о дате и часовом поясе. Также, если сервер настроен в GMT, если пользователь выбрал какой-либо другой часовой пояс, он должен быть сохранен как пользовательская информация о часовом поясе. когда я пытаюсь запросить то же самое, тогда он должен вернуть мне дату с выбранным пользователем часовым поясом. Пожалуйста, предложите мне, каков наилучший способ его реализации? Должен ли я иметь колонки даты и времени в db отдельно? в каком формате мне нужно сохранить информацию о часовом поясе? Пожалуйста, помогите мне.Как сохранить информацию о часовом поясе в базе данных?

Спасибо!

+0

Предоставляет ли http://stackoverflow.com/questions/2532729/daylight-saving-time-and-timezone-best-practices какую-либо помощь? – Mark

+0

взгляните на это [учебник] (http://www.sjhannah.com/blog/?p=113), и у вас будет лучшее понимание. –

ответ

3

Некоторые базы данных имеют типы, которые включают информацию о часовом поясе (например, Oracle имеет TIMESTAMP WITH TIME ZONE). Используйте их, если это возможно. В противном случае сохраните все даты в GMT и часовом поясе отдельно.

Что касается формата часового пояса, лучше использовать идентификаторы из tz database, на основе которых указаны идентификаторы часовых поясов Java, например. «Америка/Нью-Йорк» или «Европа/Лондон». Эти идентификаторы однозначно идентифицируют (в отличие от трехбуквенных имен часовых поясов, которые часто имеют несколько значений), административный часовой пояс и его историю (включая занижение/отмену ДСТ) - все это может быть необходимо для правильной интерпретации даты.

Смежные вопросы