设置浏览器时区(超过四个字母)

时间:2017-07-22 09:53:57

标签: firefox browser time command-line timezone

SET TZ=AEST -9
"c:\Program Files (x86)\Mozilla Firefox\firefox.exe"

测试:https://whoer.net/ 。注意它是如何显示AES而不是AEST的,并且-9不会被识别。

不确定是否有针对此的解决方法,以及您可以通过浏览器更改操作系统时间这一事实令人惊讶。但是我想,有人问过这个问题吗?

如果我放入UTC -9可行,但我会测试3个字母以上的字词。

1 个答案:

答案 0 :(得分:0)

一些事情:

  • TZ变量必须符合所描述的第一种或第二种格式here的POSIX时区规范。字符串中的空格使标识符无效。
  • AEST通常用于澳大利亚东部标准时间,即UTC + 10,而不是UTC + 9.

    • 由于POSIX表格的符号已反转,如果您打算在昆士兰州代表UTC + 10全年的时间,您可以使用AEST-10
    • 如果您打算代表新南威尔士州(悉尼等),那么您需要一个更复杂的标识符来表示当前时区规则:AEST-10AEDT,M10.1.0,M4.1.0/3

    • 通常,在大多数情况下不应使用POSIX时区字符串。它们不足以与世界上所有时区一起工作,因为它们不能代表历史变化,也不能代表一年中的两次过渡。这也在the timezone tag wiki

    • 中讨论过
  • 理想情况下,您使用TZ变量的第三种格式,即IANA tzdb identifier,例如Australia/BrisbaneAustralia/Sydney,但这样会不适用于Windows操作系统。您只能将它用于Linux,OSX等。

  • 通常,在Windows上设置TZ变量并不可靠,因为只有某些API才会使用它。例如,Windows C运行时库的localtime函数将使用TZ变量,但Win32 API的GetTimeZoneInformation函数不会。由于人们通常不知道应用程序的内部结构在做什么,所以期望TZ变量在所有情况下都起作用是不合理的。事实上,虽然FireFox目前有效,但它可能会在未来的某个版本中停止使用它 - 而且它不适用于Chrome和Edge等其他浏览器。

  • 目前没有可靠的方法在Windows上为单个进程设置时区。