javascript-是否可以获取我们在系统中选择的国家名称';s时区。我们可以得到偏移量(比如5.5),但是如何得到国家名称呢

javascript-是否可以获取我们在系统中选择的国家名称';s时区。我们可以得到偏移量(比如5.5),但是如何得到国家名称呢,javascript,Javascript,在JAVASCRIPT中,是否可以获取我们在系统中选择的国家名称。例如,如果我的系统时区为“印度/加尔各答”,我们可以得到如下偏移值: d = new Date() utc = d.getTime() + (d.getTimezoneOffset()*60000) offset = (d.getTime()-utc)/3600000 因此,偏移量是印度所需的值,如5.5。 但是我不知道这个国家的名字。 我想通过从我的时区数据库中映射偏移量和国家名称来获得国家名称。但我发现有些国家有相同的时区

在JAVASCRIPT中,是否可以获取我们在系统中选择的国家名称。例如,如果我的系统时区为“印度/加尔各答”,我们可以得到如下偏移值:

d = new Date()
utc = d.getTime() + (d.getTimezoneOffset()*60000)

offset = (d.getTime()-utc)/3600000
因此,偏移量是印度所需的值,如5.5。
但是我不知道这个国家的名字。 我想通过从我的时区数据库中映射偏移量和国家名称来获得国家名称。但我发现有些国家有相同的时区。例如,印度和斯里兰卡是两个时区相同、偏移量为5.5的国家。那么,如何在javascript中从系统时区获取正确的国家名称呢


感谢提供客户端JavaScript,简单的回答是:你不能。正如你所说的,在同一时区可以有(通常是)多个国家,具有完全相同的偏移量

我没有看到任何其他可靠的方法可以用纯JavaScript获取用户国家


为什么不直接询问您的访客?

使用where-it-supported可以帮助您做出“默认”假设,但是仍然强烈建议用户从国家/地区列表中手动选择他的位置(有些人使用代理)。

这是服务器端(Node.JS)还是客户端JavaScript?无论如何,使用时区来确定某人的国家似乎是一个奇怪的想法。客户端javascript,不允许访问互联网,但你可以使用一些本地数据库,如csv格式的时区列表。如果我的想法很奇怪,请留下这个想法,给我一个好主意,我想要的是,当我打开我的应用程序时,它应该显示,你来自“乡下”。如果不可能,请告诉我不可能。好的,谢谢你的回答!感谢您花时间回复,正如评论中所指出的,没有任何互联网连接,meThis实际上无法工作。地理定位API使用远程IP/WiFi数据库确定实际用户位置。