我刚刚编写了一段代码来显示网页中的服务器时间.目前我只有一台机器,所以我无法测试代码是否正常工作.
有没有办法告诉浏览器使用与操作系统中配置的时间配置不同的时间配置?我已经使用Firefox的插件来测试不同的语言环境,我想知道是否有类似的时间测试选项.
谢谢.
Ben*_*pel 114
为单独的Chrome用户个人资料创建新的空目录.例如
mkdir ~/chrome-profile
Run Code Online (Sandbox Code Playgroud)
您指定TZ
环境变量.你可以看到,例如有效的时区在这里,在列TZ.
要启动Chrome,请使用以下命令:
TZ='US/Pacific' open -na "Google Chrome" --args "--user-data-dir=$HOME/chrome-profile"
TZ='US/Pacific' google-chrome "--user-data-dir=$HOME/chrome-profile"
Mar*_*cos 40
在 2021 年,您无需更改操作系统变量或扩展即可执行此操作。
Chrome 开发工具 > 汉堡菜单 > 更多工具 > 传感器
在位置部分选择您的位置或为其提供时区 ID(例如美国/芝加哥、美国/纽约)
Mat*_*int 21
不幸的是,JavaScript只知道当前时区,因为它是由操作系统设置的.没有任何工具可以让Date
对象在特定上下文中使用不同的时区.有一些库可以进行时区转换,但这对您提出的问题没有帮助.
在Linux,Mac OSX和其他*NIX系统上,您可以设置TZ
环境变量.有关详细信息,请参阅BenediktKöppel的答案.
但是,Windows上没有此功能. 某些 Windows程序可能会接收TZ环境变量,但那些不一定会正确解释它,因为它们没有连接到支持IANA时区名称.更多关于这里和这里.
在流行的需求(开玩笑!),解释.
谷歌浏览器会读取环境变量以获取其运行的时区.显然,所有Chrome实例都共享该值(未经过测试).为了强制时区,我们需要a)将环境变量设置为我们想要的时区,b)杀死所有现有Chrome实例,c)打印当前时区进行确认,以及d)使用预期时区启动Chrome.
下面的shell脚本是使用OS X测试的,但也适用于其他人.
export TZ='US/Pacific'
killall Chrome
date
open /Applications/Google\ Chrome.app
Run Code Online (Sandbox Code Playgroud)
只要您在 Windows 中更改时区,Chrome 似乎就会更新其时区。Firefox 似乎在启动时存储系统的时区值。
使用 Visual Studio,您似乎可以扭转乾坤。似乎只有在您第一次启动调试过程时才会读取时区。所以就我而言,我所做的是将时区设置为例如东部标准时间。启动 Visual Studio 调试器。然后我将时区更改为例如太平洋标准时间。此时的服务器仍处于东部时区,而我的浏览器处于太平洋时区。现在我能够很好地测试客户端浏览器的行为。
如果你想在日本测试一个客户端,那么只需更新你的时区,浏览器就会跟随它。只要您不重新启动调试过程,您的服务器时区就不会改变。也只是改变时间(而不是时区)不起作用。
完成这两项操作后,转到任何网站并打开开发人员工具并通过执行以下命令进行检查
new Date().toLocaleTimeString()
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
58675 次 |
最近记录: |