Browser 如何在浏览器中使用自定义时间来测试客户端与服务器的时差

Browser 如何在浏览器中使用自定义时间来测试客户端与服务器的时差,browser,timezone,Browser,Timezone,我只是写了一段代码在网页上显示服务器时间。目前我只有一台机器,因此无法测试代码是否正常工作 有没有办法告诉浏览器使用不同于操作系统中配置的时间配置?我使用了Firefox插件来测试不同的地区,我想知道是否有类似的时间测试选项 谢谢。不幸的是,JavaScript只知道当前时区,因为它是由操作系统设置的。没有允许日期对象在特定上下文中使用不同时区的工具。有很多方法可以进行时区转换,但这对你的要求没有帮助 在Linux、Mac OSX和其他*NIX系统上,可以设置TZ环境变量。有关详细信息,请参阅

我只是写了一段代码在网页上显示服务器时间。目前我只有一台机器,因此无法测试代码是否正常工作

有没有办法告诉浏览器使用不同于操作系统中配置的时间配置?我使用了Firefox插件来测试不同的地区,我想知道是否有类似的时间测试选项


谢谢。

不幸的是,JavaScript只知道当前时区,因为它是由操作系统设置的。没有允许
日期
对象在特定上下文中使用不同时区的工具。有很多方法可以进行时区转换,但这对你的要求没有帮助

在Linux、Mac OSX和其他*NIX系统上,可以设置
TZ
环境变量。有关详细信息,请参阅


但是,在Windows上没有此功能。一些Windows程序可能会使用TZ环境变量,但那些使用TZ环境变量的程序不一定会正确解释它,因为它们不支持IANA时区名称。更详细的说明。

不幸的是,JavaScript只知道当前时区,因为它是由操作系统设置的。没有允许
日期
对象在特定上下文中使用不同时区的工具。有很多方法可以进行时区转换,但这对你的要求没有帮助

在Linux、Mac OSX和其他*NIX系统上,可以设置
TZ
环境变量。有关详细信息,请参阅

但是,在Windows上没有此功能。一些Windows程序可能会使用TZ环境变量,但那些使用TZ环境变量的程序不一定会正确解释它,因为它们不支持IANA时区名称。更多关于这一点的信息,以及。

关于大众需求(开玩笑!),解释

Google Chrome读取环境变量以获取其运行的时区。显然,所有Chrome实例都有相同的价值(未测试)。为了强制设置时区,我们需要a)将环境变量设置为我们想要的时区,b)杀死所有现有的Chrome实例,c)打印当前时区以确认,以及d)使用预期时区启动Chrome

下面的shell脚本是用OSX测试的,但也适用于其他脚本

export TZ='US/Pacific'

killall Chrome
date
open /Applications/Google\ Chrome.app
根据大众的要求(开玩笑!),解释如下

Google Chrome读取环境变量以获取其运行的时区。显然,所有Chrome实例都有相同的价值(未测试)。为了强制设置时区,我们需要a)将环境变量设置为我们想要的时区,b)杀死所有现有的Chrome实例,c)打印当前时区以确认,以及d)使用预期时区启动Chrome

下面的shell脚本是用OSX测试的,但也适用于其他脚本

export TZ='US/Pacific'

killall Chrome
date
open /Applications/Google\ Chrome.app

您最好保持计算机时区不变,并更改服务器设置以反映前面或后面的时区。这通常很容易做到,具体取决于您使用的服务器。

您最好保持计算机时区不变,并更改服务器设置以反映您前方或后方的时区。这通常很容易做到,具体取决于您使用的服务器。

为单独的Chrome用户配置文件创建一个新的空目录。例如,与

mkdir ~/chrome-profile
您可以指定
TZ
环境变量。例如,您可以在TZ列中看到有效的时区

要启动Chrome,请使用以下命令:

  • 对于Mac OS X:
    TZ='US/Pacific'open-na“Google Chrome”--args”--user data dir=$HOME/Chrome profile“
  • 对于Linux:
    TZ='US/Pacific'谷歌浏览器--user data dir=$HOME/chrome profile'

为单独的Chrome用户配置文件创建一个新的空目录。例如,与

mkdir ~/chrome-profile
您可以指定
TZ
环境变量。例如,您可以在TZ列中看到有效的时区

要启动Chrome,请使用以下命令:

  • 对于Mac OS X:
    TZ='US/Pacific'open-na“Google Chrome”--args”--user data dir=$HOME/Chrome profile“
  • 对于Linux:
    TZ='US/Pacific'谷歌浏览器--user data dir=$HOME/chrome profile'

    • 这是一个老问题,但我也遇到了类似的问题,不管怎样,我都要解决这个问题

      我所做的是在虚拟机中运行我的服务器,将网络设置设置为bridged,这样我就可以轻松地从主机操作系统作为客户端访问服务器


      然后,我更改了VM中的时间设置,以便在客户端和服务器之间有我想要的任何差异。

      旧问题,但我遇到了类似的问题,我将以任何方式抛出我的修复程序

      我所做的是在虚拟机中运行我的服务器,将网络设置设置为bridged,这样我就可以轻松地从主机操作系统作为客户端访问服务器


      然后,我在虚拟机中更改了时间设置,以便在客户端和服务器之间有我想要的任何差异。

      在Windows中更改时区后,Chrome似乎会立即更新其时区。Firefox似乎在启动时存储系统的时区值

      有了VisualStudio,您似乎可以扭转局面。似乎只有在第一次启动调试过程时才会读取时区。因此,在我的例子中,我所做的是将时区设置为,例如,东部标准时间。启动Visual Studio调试器。然后,我将时区改为,例如,太平洋标准时间。此时服务器仍在东部时区,而我的浏览器位于太平洋时区。现在我可以测试客户端浏览器的行为了

      如果你想在日本测试一个客户端,那么只需更新你的时区,浏览器就会跟随它只要不重新启动调试过程服务器时区就不会改变。也ju