有没有从客户端浏览器获取时区的可靠方法?我看到了以下链接,但我想要一个更健壮的解决方案。
发布于 2012-01-24 18:00:14
看看这个存储库pageloom,它很有帮助
下载jstz.min.js并向您的html页面添加一个函数
<script language="javascript">
function getTimezoneName() {
timezone = jstz.determine()
return timezone.name();
}
</script>
并从display标记中调用此函数
发布于 2016-05-30 00:38:21
五年后,我们有了一种内置的方法!对于现代浏览器,我会使用:
const tz = Intl.DateTimeFormat().resolvedOptions().timeZone;
console.log(tz);
这将返回IANA时区字符串,但不返回the offset。在MDN reference上了解更多信息。
Compatibility table -截至2019年3月,适用于全球90%的浏览器。Doesn't work on Internet Explorer。
发布于 2013-10-08 23:54:40
就目前而言,最好的选择可能是mbayloon's answer中建议的jstz。
为了完整性,应该提到的是,在它的道路上有一个标准:Intl。你可以在Chrome中看到这一点:
> Intl.DateTimeFormat().resolvedOptions().timeZone
"America/Los_Angeles"
(这实际上并不遵循标准,这是坚持使用该库的另一个原因)
https://stackoverflow.com/questions/6939685
复制相似问题