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

Posted

技术标签:

【中文标题】如何在 git bash 中设置正确的本地时区?【英文标题】:How to set the correct local time zone in git bash? 【发布时间】:2014-05-11 02:14:26 【问题描述】:

我在 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 只是格林威治标准时间。

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

【问题讨论】:

“正确”是指“本地”吗? 它应该显示“18:09:01 CEST 2014”而不是“16:09:01 GMT 2014”。但它忽略了windows中设置的时区和TZ设置的时区。 【参考方案1】:

在 Windows 上,TZ 变量似乎可以工作 differently。

要获得德国时区,您必须编写:

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 不了解映射,但您可以使用Wayback Machine 来查看链接,或者只使用change the VS version in a link 来查看更新的内容。【参考方案2】:

我的脚本中存在同样的问题。 Windows 显示 15:47,而 gitbash 中的“日期”命令正在回答 13:47。

export TZ="CEST-2" 

这解决了我的问题。我想要巴黎时间。

【讨论】:

以上是关于如何在 git bash 中设置正确的本地时区?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 node.js 中设置默认时区?

如何在 Amazon EC2 中设置时区?

在 git bash 中设置环境变量

如何找到松下EXIF中设置的时区

在git bash中设置一个环境变量

ruby 在Rails应用程序中设置本地时区