酷!學園

技術討論區 => Linux 討論版 => 主題作者是: id4fox 於 2010-04-06 15:53

主題: 請問時區關於時區檔案指定
作者: id4fox2010-04-06 15:53
各位學長姐好,

1. 我把 /etc/localtime 替換為 Asia/Taipei , 但是結果卻是 GMT+8 (POSIX-style, 跟預計差 16 hr)
雖然理解因為 POSIX-style 的緣故, 台灣應該指定 GMT-8, 但是這樣不就所有城市的時區檔都不能用嗎?
請問是不是還需要設定什麼才能正常讀取時區檔?

2. 請問如果時區上需要指定日光節約時間, 我該怎麼進行設定?
網路上看日光節約時間跟地理位址, 政策有時候會進行變動,
有可能作出完全應對的萬全之策嗎?

謝謝. Thx

p.s : /etc/sysconfig/clock 設定內容 =>  ZONE="Etc/GMT+8"
       Fedora12
主題: 回覆: 請問時區關於時區檔案指定
作者: kenduest2010-04-06 16:08
各位學長姐好,

1. 我把 /etc/localtime 替換為 Asia/Taipei , 但是結果卻是 GMT+8 (POSIX-style, 跟預計差 16 hr)
雖然理解因為 POSIX-style 的緣故, 台灣應該指定 GMT-8, 但是這樣不就所有城市的時區檔都不能用嗎?
請問是不是還需要設定什麼才能正常讀取時區檔?

老實說看不懂你在問啥?有點無俚頭的描述。

台灣的時間本來就是 GMT+8,日本是 GMT+9。

你的問題描述應該寫更清楚一點。
主題: 回覆: 請問時區關於時區檔
作者: id4fox2010-04-06 16:33

老實說看不懂你在問啥?有點無俚頭的描述。

台灣的時間本來就是 GMT+8,日本是 GMT+9。

你的問題描述應該寫更清楚一點。


唔 我是從這裡得到的資訊
http://phorum.study-area.org/index.php/topic,20484.0.html
我把他理解為, 因為 Linux 是以 POSIX-style 的符號定義時區
所以時區的指定上 +/- 號是相反的.

我都是用 /usr/share/zoneinfo 內的檔案跟 /etc/localtime 作替換達到修改時區的效果
而我用 Etc/GMT-8 來替代 /etc/localtime 可以得到正確的日期
用 Asia/Taipei 卻得到完全相反的日期, (其結果跟使用 Etc/GMT+8 一樣)
(ex: 正確時間: 2010/04/06 16:50,  取得時間: 2010/04/06 00:50 )

恩...不知道這樣講能不能讓學長了解我的問題?
對時區控制其實還不很了解, 謝謝耐心幫我解答
主題: 回覆: 回覆: 請問時區關於時區檔
作者: kenduest2010-04-06 23:03

請問你時間怎樣看出來的?舉例一下?
主題: 回覆: 回覆: 請問時區關於時區檔
作者: id4fox2010-04-07 09:01
請問你時間怎樣看出來的?舉例一下?
1. 我先進行網路校時
指令 : ntpdate tick.stdtime.gov.tw

2. touch 一個檔案
指令 : touch ~/123

3. 以檢查 ~/123 的檔案時間
指令 : ls -l ~/123

4. 移除時區檔 /etc/localtime
指令 : rm /etc/localtime

5. 到 /usr/share/zoneinfo 找所要城市的時區檔, 更名複製為 /etc/localtime
指令 : cp  /usr/share/zoneinfo/Asia/Taipei  /etc/localtime

6. 再次檢查 ~/123 的時間, 結果時間跟預期差 16 hr,

(步驟5 使用檔案與時間比對
UTC              =>  2010-04-07 00:43
Etc/GMT-8      =>  2010-04-07 08:43
Etc/GMT+8     =>  2010-04-06 16:43
Asia/Taipei     =>  2010-04-06 16:43)
主題: 回覆: 回覆: 請問時區關於時區檔
作者: kenduest2010-04-07 11:27

代碼: [選擇]
SayyaBBS:kendlee@~/tmp> touch -t 201003041020 file.txt
SayyaBBS:kendlee@~/tmp> ls -l --full-time
總計 0
-rw-rw-r-- 1 kendlee kendlee 0 2010-03-04 10:20:00.000000000 +0800 file.txt

代碼: [選擇]
SayyaBBS:kendlee@~/tmp> sudo rm /etc/localtime
SayyaBBS:kendlee@~/tmp> ls -l --full-time
總計 0
-rw-rw-r-- 1 kendlee kendlee 0 2010-03-04 02:20:00.000000000 +0000 file.txt

代碼: [選擇]
SayyaBBS:kendlee@~/tmp> sudo cp /usr/share/zoneinfo/Asia/Taipei /etc/localtime
SayyaBBS:kendlee@~/tmp> ls -l --full-time
總計 0
-rw-rw-r-- 1 kendlee kendlee 0 2010-03-04 10:20:00.000000000 +0800 file.txt

代碼: [選擇]
SayyaBBS:kendlee@~/tmp> sudo cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
SayyaBBS:kendlee@~/tmp> ls -l --full-time
總計 0
-rw-rw-r-- 1 kendlee kendlee 0 2010-03-04 11:20:00.000000000 +0900 file.txt
主題: 回覆: 請問時區關於時區檔案指定
作者: kenduest2010-04-07 11:36

所以測試顯示結果並沒有異常呢?
主題: 回覆: 回覆: 請問時區關於時區檔
作者: id4fox2010-04-07 11:50
代碼: [選擇]
SayyaBBS:kendlee@~/tmp> sudo cp /usr/share/zoneinfo/Asia/Taipei /etc/localtime
SayyaBBS:kendlee@~/tmp> ls -l --full-time
總計 0
-rw-rw-r-- 1 kendlee kendlee 0 2010-03-04 10:20:00.000000000 +0800 file.txt

(上方)這個地方我剛好相反(+0800 變成 -0800), 會不會是有設定值要指定?
還是我的時區檔本身有錯, 是不是有地方可以下載更新呢?

代碼: [選擇]
[root@linuxBurnServer ~]# rm /etc/localtime
rm:是否移除普通檔案‘/etc/localtime’? y
[root@linuxBurnServer ~]# ls -l --full-time ~/123
-rw-r--r--. 1 root root 0 2010-04-07 00:43:45.861304642 +0000 /root/123

代碼: [選擇]
[root@linuxBurnServer ~]# cp /usr/share/zoneinfo/Asia/Taipei /etc/localtime
[root@linuxBurnServer ~]# ls -l --full-time ~/123
-rw-r--r--. 1 root root 0 2010-04-06 16:43:45.861304642 -0800 /root/123

代碼: [選擇]
[root@linuxBurnServer ~]# rm /etc/localtime
rm:是否移除普通檔案‘/etc/localtime’? y
[root@linuxBurnServer ~]# cp /usr/share/zoneinfo/Etc/GMT-8 /etc/localtime
[root@linuxBurnServer ~]# ls -l --full-time ~/123
-rw-r--r--. 1 root root 0 2010-04-07 08:43:45.861304642 +0800 /root/123

主題: 回覆: 請問時區關於時區檔案指定
作者: id4fox2010-04-07 12:39
所以測試顯示結果並沒有異常呢?

萬分的抱歉~我想我找到問題在哪裡了
我的 Asia/Taipei 檔案有問題
裡面寫的是 GMT+8, 而一般而言會是 CST-8
我想是不知道什麼時候被修改了, 導致他一直使用 POSIX style 的 Etc/GMT+8
檢查其他城市的時區檔就沒有問題

結果竟然是這裡出錯, 真的是相當的不好意思, 浪費了諸位的腦細胞
非常感謝 kenduest 學長的幫忙