6

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

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

这对我来说非常重要,因为“make”命令总是给我关于将来修改的文件的错误。

4

4 回答 4

12

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

我通过设置环境变量 TZ 解决了这个问题,如下所示:

export TZ=CET-1CEST

在设置变量之前,我有:

(dos提示)

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

(msys 外壳)

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

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

(dos提示)

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

(msys 外壳)

$ 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 何时开始和结束。如果您想了解更多有关它的信息,请参阅此页面

于 2010-10-25T15:24:46.797 回答
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

注意时间变了。这也适用于控制面板。

于 2010-04-01T20:01:13.550 回答
0

我遇到了同样的时区问题。我最好的方法是使用 : date --date="4 hours ago" ,其中 -4h 是我的时区...它可以为我的东西加上时间戳,但我不确定它是否对我有任何帮助“制作”...

于 2010-04-29T02:47:34.227 回答
0

作为记录,除了 Geert 的出色回答之外,以下是我添加到我的 ~/.bash_profile 中的内容,居住在法国:

export TZ=CET-1CEST-2

而且效果很好。

于 2011-06-21T14:30:42.840 回答