计算GMT时间的本地时间偏差

时间:2014-09-17 14:37:45

标签: java

我有一个要求,我只有GMT时间没有任何偏移,例如15:00:00,我的要求是找出这个GMT时间属于哪个时区,我试图通过使用我当地时间来解决它将其转换为GMT时间并进行一些比较,但我不认为这可能是正确的做法。

1 个答案:

答案 0 :(得分:0)

假设时间肯定偏离GMT,您应该能够使用以下内容生成GMT时间戳,然后比较两者。您得到的答案(转换回小时数)应该是偏移量,然后您可以查找。

new Date().getTime();

请注意,这并未考虑夏令时/夏令时等,并假设现在给出的时间,因此可以与当前的GMT时间进行比较。具体来说,请记住,如果像英国和澳大利亚一样,他们的夏季/冬季时段是相反的,那么时区可以波动几个小时,因此在任何给定点,+ 11小时时区偏移实际上可能是+10或+12。时间。有些国家甚至在同一时区都没有使用夏令时。

另请注意,整个时区偏移和使用集中时间(例如UTC)是为了避免上述混淆。根据定义,您可以长期处理并引入不确定性。

因此,您可能在北半球有一个国家/地区变化+/- 1小时,一个在南部变化 - / + 1小时,另一个在赤道附近同时使用相同的时间......并且您可以不知道那个时区应该是哪些。您可以找到偏移量,但这是关于它的。