如何在git bash中设置正确的本地时区?

6

我正在Windows系统上使用git-bash。

Windows时钟显示本地时间,但在git-bash中所有时间都是GMT时间:

$ date
Mon Mar 31 16:08:57 GMT 2014

同时设置TZ也不会改变事情:

$ TZ="Europe/Berlin" date
Mon Mar 31 16:09:01 GMT 2014

同样,所有的git log时间都是GMT时间。

有没有办法在git-bash中设置正确的时区?


“正确”是指“本地”吗? - Chris
它应该显示“18:09:01 CEST 2014”而不是“16:09:01 GMT 2014”。但它忽略了Windows设置的时区和使用TZ设置的时区。 - michas
2个回答

10

在Windows系统中,TZ变量似乎与其他系统的表现不同。

要获取德国时区,您需要输入:

TZ=GST-1GDT date
如果您将其设置为一些“无效”的值,例如“Europe/Berlin”,它将默认为GMT。当TZ根本未设置时,在我的系统上似乎会发生同样的情况。
使用上述设置,我得到的是Thu Apr 17 16:23:23 GDT 2014,这与Thu Apr 17 16:23:23 CEST 2014不完全相同,但至少时间看起来正确。

我正在尝试弄清楚如何创建这些时区代码,因为自此答案编写以来,Microsoft 的相关文档似乎已经被弃用了多年。是否有一种方法可以将已知的 Unix 时区名称映射到 Windows 等效项? - Mindstormer619
@Mindstormer619 不知道关于映射,但是你可以使用Wayback Machine来查看链接或者只需将链接中的VS版本更改为更近期的版本,例如:change the VS version in a link - EvgenKo423

2

我在我的脚本中也遇到了同样的问题。Windows显示的是15:47,而gitbash中的“date”命令回答的是13:47。

export TZ="CEST-2" 

这个方法解决了我的问题。我想要的是巴黎时间。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接