如何解决如何使用纬度和经度坐标从某个位置获取时区?
- 谷歌地图时区 API
- 必应地图时区 API
- Azure 地图时区 API
- GeoNames 时区 API
- 时区数据库 API
- AskGeo - 商业(但可以说比 GeoNames 更准确
- GeoGarage Time Zone API- 商业,专注于航海时区。
- Timezone Boundary Builder - 从 OpenStreetMaps 地图数据构建时区 shapefile。包括海岸线附近的领海。
以下项目以前是时区边界数据的来源,但不再积极维护。
- tz_world - 来自 Eric Muller 的原始 shapefile 数据
- whereonearth-timezone - 合并了 woeDB 数据的 GeoJSON 版本
使用时区边界生成器数据的实现
- node-geo-tz - JavaScript 库(仅限 Node.js)
- 时间空间- JavaScript 库
- tz-lookup-oss - JavaScript 库
- GeoTimeZone - .NET 库
- 地理时区- PHP 库
- timezonefinder - Python 库
- ZoneDetect - C 库
- 时间形状- Java 库
- TimeZoneMap - Java 和 Android 库
- lutz - R 库
- go-tz -Go 库
- 时区查找- Go 库
- docker-timezone-lookup - docker 容器包装 node-geo-tz
使用旧 tz_world 数据的实现
- latlong - Go 库(也请阅读这篇文章。)
- TimeZoneMapper - Java 库
- tzwhere - JavaScript/节点库
- pytzwhere - Python 库
- timezone_finder - Ruby 库
- LatLongToTimeZone - Java 和 Swift 库
- 现在几点了?- 描述 PHP 和 MongoDB 的博客文章
- rundel/时区- R 库
如果您知道任何其他人,请更新此列表
另外,请注意,最近城市方法可能不会产生“正确”的结果,只是一个近似值。
列出的大多数方法都将返回 IANA 时区 ID。如果您需要转换为 Windows 时区以与TimeZoneInfo
.NET
中的类一起使用,请使用TimeZoneConverter库。
tz
数据库包含一个名为zone.tab
.
此文件主要用于显示时区列表供用户选择。它包括每个时区的参考点的纬度和经度坐标。这允许创建突出这些点的地图。例如,查看moment-timezone
主页上显示的交互式地图。
虽然使用此数据从纬度和经度坐标解析时区可能很诱人,但请考虑这些是点而不是边界。最好的办法是确定 最近 的点,在许多情况下这不是正确的点。
考虑以下示例:
两个方块代表不同的时区,其中每个方块中的黑点是参考位置,例如可以在 zone.tab 中找到的内容。蓝点代表我们试图为其查找时区的位置。显然,这个位置在左侧的橙色区域内,但如果我们只看离参考点最近的距离,它将解析为右侧的绿色区域。
解决方法
给定一个位置的纬度和经度,如何知道该位置的有效时区?
在大多数情况下,我们正在寻找 IANA/Olson 时区 ID,尽管某些服务可能只返回 UTC
偏移量或其他一些时区标识符。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。