SET TZ=AEST -9
"c:\Program Files (x86)\Mozilla Firefox\firefox.exe"
测试:https://whoer.net/ 。注意它是如何显示AES而不是AEST的,并且-9不会被识别。
不确定是否有针对此的解决方法,以及您可以通过浏览器更改操作系统时间这一事实令人惊讶。但是我想,有人问过这个问题吗?
如果我放入UTC -9
可行,但我会测试3个字母以上的字词。
答案 0 :(得分:0)
一些事情:
TZ
变量必须符合所描述的第一种或第二种格式here的POSIX时区规范。字符串中的空格使标识符无效。 AEST
通常用于澳大利亚东部标准时间,即UTC + 10,而不是UTC + 9.
AEST-10
。如果您打算代表新南威尔士州(悉尼等),那么您需要一个更复杂的标识符来表示当前时区规则:AEST-10AEDT,M10.1.0,M4.1.0/3
通常,在大多数情况下不应使用POSIX时区字符串。它们不足以与世界上所有时区一起工作,因为它们不能代表历史变化,也不能代表一年中的两次过渡。这也在the timezone tag wiki。
理想情况下,您使用TZ
变量的第三种格式,即IANA tzdb identifier,例如Australia/Brisbane
或Australia/Sydney
,但这样会不适用于Windows操作系统。您只能将它用于Linux,OSX等。
通常,在Windows上设置TZ
变量并不可靠,因为只有某些API才会使用它。例如,Windows C运行时库的localtime
函数将使用TZ
变量,但Win32 API的GetTimeZoneInformation
函数不会。由于人们通常不知道应用程序的内部结构在做什么,所以期望TZ
变量在所有情况下都起作用是不合理的。事实上,虽然FireFox目前有效,但它可能会在未来的某个版本中停止使用它 - 而且它不适用于Chrome和Edge等其他浏览器。
目前没有可靠的方法在Windows上为单个进程设置时区。