如何在数据库中保存时区信息?

我正在使用GWT / Hibernate。 我有一个使用GWT创建的表单。 它有一个日期字段,用户可以在其中选择日期,一个下拉列表显示所有时区。 现在用户从下拉列表中选择日期和时区。 点击保存按钮我需要保存日期和时区信息。 此外,如果在GMT中配置服务器,如果用户选择了任何其他时区,则应将其保存为用户选择的时区信息。 当我尝试查询相同时,它应该返回用户选择的时区的日期。 请告诉我实施它的最佳方法是什么? 我应该单独在db中有日期和时区列吗? 我需要以哪种格式保存时区信息? 请帮帮我。

谢谢!

某些数据库具有包含时区信息的类型(例如,Oracle具有TIMESTAMP WITH TIME ZONE)。 尽可能使用它们。 否则,分别保存GMT和时区中的所有日期。

至于时区的格式,最好使用tz数据库中的ID,这是Java的时区ID所基于的,例如“America / New_York”或“Europe / London”。 这些ID唯一地标识(不同于通常具有多种含义的三个字母的时区名称)管理时区及其历史(包括DST内插/废除和更改) – 所有这些都是正确解释日期所必需的。