2012-01-09 108 views
2

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

谢谢!

+0

是否http://stackoverflow.com/questions/2532729/daylight-saving-time-and-timezone-best-practices提供任何帮助? – Mark 2012-01-09 14:40:01

+0

看看这个[教程](http://www.sjhannah.com/blog/?p=113),你会有更好的理解。 – 2012-01-09 14:41:07

回答

3

某些数据库的类型包括时区信息(例如Oracle具有TIMESTAMP WITH TIME ZONE)。尽可能使用这些。否则,请将所有日期另存为GMT和时区。

至于时区的格式,最好使用来自tz database的ID,这些是Java的时区ID基于的。 “America/New_York”或“Europe/London”。这些ID唯一标识(不像三个字母的时区名称通常具有多重含义)管理时区及其历史记录(包括DST引入/取消和更改) - 所有这些都可能是正确解释日期所必需的。