2010-04-01 66 views
5

如果我只安裝了「日期」命令,如何在MSYS + MinGW for Windows上更改時區?這裏沒有「tzconfig」或「tzselect」。在MSYS中更改時區

當我嘗試$ date --set =「Apr 01 23:08 UTC + 04:00」 我收到19:08 GMT + 0結果。

這對我來說非常重要,因爲「make」命令總是會給我以後修改的文件帶來錯誤。

+1

屬於superuser.com – 2010-04-01 19:36:00

+0

MSYS使用Windows日期/時間。如果您需要更改這些,請通過Windows控制面板進行操作。 – 2010-04-01 19:38:11

+2

不,MSYS不會看到Windows設置! – d9k 2010-04-01 19:40:53

回答

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滯後於歐洲中部時間一小時)
  • CEST:夏令時的時區的名稱啓用
  • (可選)+/- y:夏令時(DST)與GMT時區的偏差,以小時爲單位。默認值是小時,所以你可以跳過它。

請注意,第一個和第三個字段僅用於顯示日期字符串。如果你願意,你可以將它設置爲FOO和BAR,這是實際修改時間的第二個(也可以是第四個)字段。

該參數可能需要更多的字段來定義DST何時開始和結束。如果您想了解更多信息,請參閱this page

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:

[[email protected] NeilB]$ date 
Thu Apr 1 21:59:31 GMTDT 2010 

通知的時間已經改變。這也可以使用控制面板。

+0

好吧,它改變了時間,但仍然在其他時區。所以當我將它改爲0:26 cmd時,我在MSYS中得到了20:26。當我在MSYS中將時間更改爲0:26時,我在窗口中獲得了4:26。 所以我需要一個從MSYS控制檯更改時區的方法。 – d9k 2010-04-01 20:36:55

+0

@ d9K所以你想要一個MSYS bash提示符和Windows在不同的時區?我不認爲這是可能的。 MSYS不是一個操作系統,並沒有自己的時間,日期或時區的概念。 – 2010-04-01 20:55:51

+0

@anon:日期和時間是系統的,但MSYS可以決定時區,甚至可以在不同時區有幾個MSYS窗口。 – 2011-04-18 12:33:06

0

我遇到了相同的時區問題。我最好的辦法是使用:date --date =「4小時前」,其中-4h是我的時區...它爲我工作時間戳我的東西,但我不確定它會有什麼幫助「make」...

0

根據記錄,除了從海爾特偉大的答案,這是我加入到我的〜/ .bash_profile中,居住在法國:

export TZ=CET-1CEST-2 

而且它的偉大工程。