由於地球上不同地方的日出與日落時間不同,因此有「時區」這個將標準時間區域化的概念,透過地球上的經線(南極和北極的連線)、國際換日線和國家與城市邊界來劃分出不同的區域標準時間。電腦也有時鐘功能,因此需要藉由設定時區來讓它能顯示出在該使用區域內正確的時間文字。



使用圖形使用者介面(GUI)設定Linux的時區

大多數的Linux桌面環境的控制中心都可以找到時間與時區的設定項目,可以很直覺地更改時間與時區的數值。下圖即為Cinnamon的時間與時區設定視窗:

linux-timezone

使用命令列介面(CLI)設定Linux的時區

用命令列介面查看目前的時間

在使用命令列介面設定Linux的時區之前,可以先使用以下兩個指令來查看目前系統設定的時間與時區是否正確。

date

這個指令會顯示出目前系統所設定時區的時間。

date -u

這個指令會顯示出目前系統的UTC(Coordinated Universal Time)時間,就是沒有考慮時區的時間。

linux-timezone

用命令列介面設定時區(純文字模式)

可以直接在終端機輸入以下指令,進行時區的設定:

tzselect

linux-timezone

如上圖,可以看到執行指令之後,出現許多選項能選擇。前面幾項是大範圍的地區,如筆者所在的台灣,便是位於亞洲(Asia)內。倒數第二項可允許使用者自行輸入經緯度來決定時區,輸入的經緯度格式必須符合ISO 6709的標準。最後一項則是直接讓使用者輸入自己的時區,輸入的時區格式必須符合POSIX。

如果不是處於很特殊的地區,或是沒有其他特殊的需求的話,為了避免輸入錯誤的困擾,直接選擇地點來決定時區會比較快速。選好大範圍的地區之後,再來選擇小範圍地區。在這邊可以直接找到台灣(Taiwan)的選項。

linux-timezone

輸入完成後,tzselect會預覽一下指定時區之後的時間,並要求使用者確認設定。

linux-timezone

確認之後會看到tzselect最後要求使用者自己加上環境變數的設定至家目錄的.profile檔案中。

linux-timezone

如筆者選擇台灣時區,故要將TZ='Asia/Taipei'; export TZ寫進家目錄的.profile檔案中。可以使用以下指令快速寫入:

echo "TZ='Asia/Taipei'; export TZ" >> ~/.profile

linux-timezone

或是使用vim或是gedit等文字編輯器來編輯這個檔案。

vim ~/.profile

再次使用該家目錄的使用者登入Linux後,時區就可以改變了!

用命令列介面設定時區(文字圖形模式)

這個方法只適合用在基於Debian的Linux發行版。直接輸入以下指令來設定時區:

sudo dpkg-reconfigure tzdata

linux-timezone

執行指令後,即可開始選擇所在地區。

linux-timezone

linux-timezone

地區選好之後,時區也設定好了。

linux-timezone

注意,使用這個方式設定的時區,優先權會比設置TZ環境變數還要低,但因為它是直接更改/etc/localtime這個檔案,所以能夠直接設定所有使用者的預設時區。