请看看您能否告诉我如何处理我的 DST 问题。
首先,我的应用程序是一个物流系统,它是针对全球用户的,所以它涉及时区问题,我将在设置用户本地预订日期时进行如下处理:
1.当用户登录应用程序时,我们可以根据登录IP获取用户的时区,但这只是一个偏移量(我不记得这个东西的术语)例如“GMT+08”(北京)或“GMT-06” (芝加哥) 。
2.在用户保存预订之前,我们需要设置预订本地日期,因为我无法直接获取用户本地日期。所以我会先获取服务器日期(在我的情况下,它是北京时间),然后根据计算本地日期到服务器日期和用户时区,例如如果用户时区是“GMT-08”,服务器日期是 2013-08-29 17:45:00。服务器时区是“GMT+08”,那么我将使用服务器 date-8-8,结果将是 2013-08-29 01:45:00。但由于我不考虑 DST,计算的本地日期将与实际日期有所不同。例如,现在在旧金山,实际的本地日期将比我使用这种方式计算的结果早一小时,
我发现 java TimeZone 已经考虑了 DST 问题,但我需要在构造 TimeZone 时提供“位置”名称(例如 US/Alaska、Pacific/Apia)。而在我的情况下,我能得到的只是偏移量。所以你能告诉我如何解决我的 DST 问题吗?