在node js中从IP地址获取时区

Aym*_*wan 1 ip timezone utc geoip node.js

在node.js中从ip获取时区的最简单和最好的方法是什么?理想情况下无需调用 Web 服务(也欢迎任何免费的 Web 服务解决方案)。

到目前为止,我已经成功地从 npm 模块geoip-lite中找到了 2 个字母的ISO-3166-1 国家/地区代码纬度/经度ISO-3166-2 次国家/地区代码FIPS 10-4 次国家/地区代码城市名称

我将如何将此数据转换为时区或 utc 偏移量?或者也许更简单的方法是直接将 ip 映射到时区。

Tua*_*ran 5

卫星化可以做到这一点。

var satelize = require('satelize');
satelize.satelize({ip:'46.19.37.108'}, function(err, payload) {
});
Run Code Online (Sandbox Code Playgroud)

输出包括时区

{
    "ip": "46.19.37.108",
    "continent_code": "EU",
    "continent": {
      "de": "Europa",
      "en": "Europe"
    },
    "country_code": "NL",
    "country": {
      "de": "Niederlande",
      "en": "Netherlands"
    },
    "latitude": 52.5,
    "longitude": 5.75,
    "timezone":"Europe/Amsterdam"
}
Run Code Online (Sandbox Code Playgroud)