带输入的GMT偏移:纬度和经度

时间:2013-08-01 08:09:52

标签: java

如果我通过纬度和经度,作为回应我需要GMT时区值。

例如:

  • 北纬:21.7679
  • 经度:78.8718
  • 回应除外:GMT + 05:30

我不想使用任何网络服务。

1 个答案:

答案 0 :(得分:2)

如果您不想使用Web服务,则需要大量信息才能获得精确结果。然而,有一个黑客,很容易给出近似的结果:

Divide longitude by 15

根据www.timeanddate.com

... 然后每个时区理论上是15度宽,对应于平均太阳时的一小时差异。在实践中,时区的形状会发生变化,以匹配国内和国际边界。格林威治子午线东部或西部每15度,民用时间分别向前和向后变化一小时。人们需要将经度(以度为单位)除以15才能找到适当的时区,以小时为单位。例如:

At 150 degrees west (or 150° W) longitude, the time should be 150 degrees divided by 15 degrees = 10 hours behind Coordinated Universal Time (UTC/GMT) (or UTC-10).
At 75 degrees east (or 75° E) longitude, the time would be 75 degrees divided by 15 degrees = 5 hours ahead of UTC/GMT (or UTC+5).