尽管我使用的是 vpn,网站如何知道我的时区

How does the website know my timezone though I am using vpn

我正在使用 vpn。我的网络浏览器是 chrome.

在注册到特定站点时,我给了一个不同的位置。该网站每晚上 10 点给我一个通知。问题是它是在我当地时间发出通知,而不是在我注册到该网站的 time-zone 中。

网站允许的权限是

Motion sensors
JavaScript
Images
Background sync
Payment Handlers

否,不允许 Location 的权限。

尽管我使用的是 vpn,但网站如何知道我的本地 time-zone。

Web 浏览器能否从机器上获取时间并通过 HTTP header 或其他方式将其发送到服务器?

这是怎么回事?

P.S. 需要说明的是,这不是 chrome 浏览器中 Notifications 允许的浏览器通知。它就像 Whosebug 通知(浏览器右上角 windows)。还有一件事,我从 linux 桌面而不是移动设备访问该站点。不确定 Motion sensors 权限在我的桌面上做什么。

我可能遗漏了一些东西,但是如果你在浏览器中按 F12,然后输入:console.log(`Time offset is ${-new Date().getTimezoneOffset()/60} hours`);,你可以看到你的时间偏移量,如果你输入 console.log(new Date());,你可以看到你现在的时间。

可以在您登录时发送该信息。

document.getElementById('current-time').innerText = `Current date: ${new Date}\nTime Offset: ${-new Date().getTimezoneOffset()/60} hours`;
<div id="current-time">
</div>

编辑:

时区偏移代码改编自this answer