0

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

例如:

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

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

4

1 回答 1

2

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

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).
于 2013-08-01T08:21:14.307 回答