如何从日期时间、纬度和经度获取时区(无外部 API)



关于如何获得给定纬度和经度的时区,有一个很好的答案。但是,答案中有一条评论

我注意到的一件事是缺少任何UTC时间戳要求 确定时区时。例如,伦敦的长/纬度是 不足以确定天气时区是GMT或BST(英国) 夏令时/夏令时)。所以一定要确定正确的 时区 您需要纬度、经度和 UTC 时间戳。

此外,还有一个wiki,其中谈到Java有自己的时区数据库,该数据库记录在Oracle网站上

我想知道给定一个UTC DatetimeLatitudeLongitude,有没有办法利用Java的时区数据库来获取时区而不是进行API调用?

任何资源/示例?

您引用的文章显示了几个脱机工作的库,包括一个用于 Java 的库。 这些库根据tz_world图查找纬度/纬度,然后为您提供标准的 IANA 时区标识符,例如 America/New_York

然后,您可以使用 Java 库或标准 Java 将该标识符与要转换的任何时间戳一起使用。 最好的方法是使用 Java 7 及更早版本的 Joda-Time,并使用新的 Java 8+ 包。

没有一步实现,因为这是两个不同的问题。 在某些情况下,您可能需要两者,但并非总是如此。

相关内容

  • 没有找到相关文章

最新更新