Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 输入的GMT偏移:纬度和经度_Java - Fatal编程技术网

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

Java 输入的GMT偏移:纬度和经度,java,Java,若我通过纬度和经度,作为响应,我需要GMT时区值 例如: 纬度:21.7679 经度:78.8718 响应除外:格林尼治时间+05:30 我不想使用任何web服务。如果您不想使用web服务,则需要大量信息才能获得准确的结果。然而,有一个黑客很容易给出近似结果: Divide longitude by 15 根据: 。。。 理论上,每个时区都有15度宽,相当于平均太阳时间相差一小时。时区的形状在实践中被改变,以匹配国内和国际边界。格林威治子午线以东或以西每15度,民用时间分别向前和向后变化1

若我通过纬度和经度,作为响应,我需要GMT时区值

例如:

  • 纬度:21.7679
  • 经度:78.8718
  • 响应除外:格林尼治时间+05:30

我不想使用任何web服务。

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

Divide longitude by 15
根据:

。。。 理论上,每个时区都有15度宽,相当于平均太阳时间相差一小时。时区的形状在实践中被改变,以匹配国内和国际边界。格林威治子午线以东或以西每15度,民用时间分别向前和向后变化1小时。我们需要将经度除以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).

如果不使用某种在线资源或时区多边形定义数据库,您将很难自己实现这一点,因为从经度到时区没有简单的函数。如果你怀疑这一点,看看世界时区地图;即使在经度0,也有多个时区。哦,格林尼治标准时间是上个世纪,UTC是现在的标准时间。@HighPerformanceMark格林尼治标准时间是上个世纪,。让我笑一笑。学究式的时区不会从本初子午线每+/-15度改变一次,时区0以本初子午线为中心,下一个东区和西区从+/-7.5度开始。为了说明我对这个问题的看法,这个方法对于OP的例子是失败的;在印度,它不会产生5H30米的经度偏移。这很公平!这就是为什么写的是近似结果。。。我会使用web服务。