在MSYS中更改时区

时间:2010-04-01 19:21:15

标签: windows datetime timezone mingw msys

如果我只安装了“date”命令,如何更改MSYS + MinGW for Windows的时区?这里没有“tzconfig”或“tzselect”。

当我尝试$ date --set =“Apr 01 23:08 UTC + 04:00” 我收到19:08 GMT + 0结果。

这对我来说非常重要,因为“make”命令总是会让我对将来修改的文件有误。

4 个答案:

答案 0 :(得分:12)

我有同样的问题。我的时区是CET(GMT + 1)。

我已经通过设置环境变量TZ修复了这个问题,如下所示:

export TZ=CET-1CEST

在设置变量之前我有:

(dos提示)

c:\>time
Huidige tijd: 17:08:32,40

(msys shell)

$ date
Mon Oct 25 15:08:54 GMT 2010

设置TZ = CET-1CEST后,它变为:

(dos提示)

c:\>time
Huidige tijd: 17:14:30,80

(msys shell)

$ export TZ=CET-1CEST
$ date
Mon Oct 25 17:15:05 CEST 2010

此变量中的字段为

  • CET:您的时区名称
  • +/- x:从您的时区到GMT的小时偏差(在我的示例中,GMT在CET上滞后一小时)
  • CEST:启用夏令时的时区名称
  • (可选)+/- y:从夏令时(DST)到GMT的时区偏差(以小时为单位)。默认值为小时,因此您可以跳过它。

请注意,第一个和第三个字段仅用于显示日期字符串。如果愿意,你也可以将其设置为FOO和BAR,它是进行实际时间修改的第二个(也可以是第四个)字段。

该参数可以使用更多字段来定义DST何时开始和结束。如果您想了解更多相关信息,请参阅this page

答案 1 :(得分:0)

这是副本&从我的电脑上粘贴。启动Windows cmd.exe提示符 - 然后:

d:\Users\NeilB>time
The current time is: 20:59:27.68
Enter the new time: 21:59

然后切换到MSYS bash shell:

[neilb@GONERIL NeilB]$ date
Thu Apr  1 21:59:31 GMTDT 2010

请注意时间已经改变。这也可以使用控制面板。

答案 2 :(得分:0)

我遇到了同样的时区问题。我最好的拍摄是使用:date --date =“4小时前”,其中-4h是我的时区...它对我来说是时间戳我的东西,但我不确定它会有任何帮助“使” ...

答案 3 :(得分:0)

为了记录,除了Geert的好答案之外,以下是我在〜/ .bash_profile中添加的内容,生活在法国:

export TZ=CET-1CEST-2

效果很好。