更改 MSYS 中的时区

发布于 2024-08-27 19:09:51 字数 197 浏览 17 评论 0原文

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

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

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

how can I change timezone on MSYS+MinGW for Windows if I have only "date" command installed? There are no "tzconfig" or "tzselect" here.

When I try $date --set="Apr 01 23:08 UTC+04:00"
I receive 19:08 GMT+0 result.

This is very important for me because "make" command always gives me errors about files modified in future.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

内心旳酸楚 2024-09-03 19:09:51

我有同样的问题。我的时区是 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 开始和结束的时间。如果您想了解更多相关信息,请参阅此页面。

I had the same issue. My timezone is CET (GMT+1).

I have fixed this by setting environment variable TZ, like so:

export TZ=CET-1CEST

Before setting the variable I had:

(dos prompt)

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

(msys shell)

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

After setting TZ=CET-1CEST it becomes:

(dos prompt)

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

(msys shell)

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

The fields in this variable are

  • CET: the name of your timezone
  • +/-x: the offset in hours to go from your timezone to GMT (in my example GMT lags one hour on CET)
  • CEST: the name of your timezone with daylight saving time enabled
  • (optionally) +/-y: the offset in hours from your timezone in daylight saving time (DST) to GMT. The default is on hour, so you can skip it.

Note that the first and third field are just used to display in the date string. You can just as well set it to FOO and BAR if you like, it's the second (and optionally fourth) field that do the actual time modification.

The parameter can take even more fields to define when DST starts and ends. If you like to read more about it, see this page.

药祭#氼 2024-09-03 19:09:51

这是复制&从我的电脑粘贴。启动 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

注意时间已更改。这也适用于使用控制面板。

This is copy & pasted from my PC. Start a Windows cmd.exe prompt - and then:

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

Then switch to an MSYS bash shell:

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

Notice the time has changed. This also works using Control Panel.

凉城 2024-09-03 19:09:51

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

I ran into the same timezone problem. My best shot was to use : date --date="4 hours ago" , where -4h is my timezone... It worked for me to time-stamp my stuff but I'm not sure it's gonna be of any help for "make"...

时光匆匆的小流年 2024-09-03 19:09:51

作为记录,除了 Geert 的精彩回答之外,这是我在法国生活的 ~/.bash_profile 中添加的内容:

export TZ=CET-1CEST-2

而且效果很好。

For the record, in addition to the great answer from Geert, Here is what I added to my ~/.bash_profile, living in France :

export TZ=CET-1CEST-2

And it works great.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文