JavaScript 的时区作为定位用户所在国家/地区的方式

JavaScript's time zones as a way to locate a user's country

我需要确定用户所在的国家/地区,它不需要非常准确(90% 的时间都正确可能就足够了)。我意识到由 JavaScript 编辑的时区 return 可以工作。

示例:

console.log(Intl.DateTimeFormat().resolvedOptions().timeZone);

Will return America/TorontoAmerica/New_York,这可以帮助我区分加拿大人和美国人。

当然我明白这是基于用户的喜好,而不是它的真实位置。但是,是否存在我现在使用此技术时未发现的巨大缺陷?

经过一些研究,发现这取决于场景(是可预测的)。对于我的场景,美国人在 95% 以上的时间里得到正确的时区,而加拿大人得到 90% 以上的时间。

测试这一点的方法是在我们的 Google 分析中保存用户的 JS 时区,然后将其与他们的位置进行比较。

所以你的里程可能会有所不同,但对于我的用例来说,这已经足够了。