Ubuntuでコマンドを使ってタイムゾーンの確認・設定を行う方法です。
タイムゾーンの確認
現在設定されているタイムゾーンはtimedatectlコマンドで確認することができます。
コマンドを実行して表示された内容の、「Time zone」部分が現在設定されているタイムゾーンです。
$ timedatectl
Local time: Thu 2023-09-21 16:15:34 JST
Universal time: Thu 2023-09-21 07:15:34 UTC
RTC time: Thu 2023-09-21 07:15:34
Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: yes
NTP service: n/a
RTC in local TZ: no
「Time zone: Asia/Tokyo (JST, +0900)」と表示されているので、タイムゾーンはAsia/Tokyoが設定されていることがわかります。
タイムゾーンの設定
タイムゾーンを設定する場合は、「timedatectl set-timezone」コマンドを使用します。
timedatectl set-timezone タイムゾーン
実際にタイムゾーンをUTCに変更してみます。
タイムゾーンの変更は管理者権限が必要なのでsudoを使ってコマンドを実行します。
$ sudo timedatectl set-timezone UTC
timedatectlで確認するとTime zoneの部分がUTCに変更されています。
$ timedatectl
Local time: Thu 2023-09-21 07:42:39 UTC
Universal time: Thu 2023-09-21 07:42:39 UTC
RTC time: Thu 2023-09-21 07:42:39
Time zone: UTC (UTC, +0000)
System clock synchronized: yes
NTP service: n/a
RTC in local TZ: no
使用できるタイムゾーンを調べる方法
使用できるタイムゾーンは下記のコマンドで表示させることが出来ます。
- timedatectl list-timezones
- tzselect
timedatectl list-timezones
使用できるタイムゾーンの数は約600ぐらいありとても多いので、1画面に表示できる分ずつ表示されます。
下記の例では一番下に「lines 1-15」と表示されているので、1から15列目までが表示されていることがわかります。
スペースやEnterキーを押下すると次の1画面分が表示されます。
途中で表示を終了させたい場合は「q」か「Ctrl + c」を押下して下さい。
$ timedatectl list-timezones
Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara
Africa/Asmera
Africa/Bamako
Africa/Bangui
Africa/Banjul
Africa/Bissau
Africa/Blantyre
Africa/Brazzaville
Africa/Bujumbura
Africa/Cairo
Africa/Casablanca
lines 1-15
--no-pagerオプションを使用すると、一気に全部のタイムゾーンが表示されます。
$ timedatectl list-timezones --no-pager Africa/Abidjan Africa/Accra Africa/Addis_Ababa ### 中略 ### W-SU WET Zulu
tzselect
tzselectコマンドを使うと、対話的に使用できるタイムゾーンを確認することが出来ます。
コマンドを実行すると、使用したいタイムゾーンの地域を指定する画面が表示されます。
今回は日本のタイムゾーン名を調べたいので、4を入力した後にEnterキーを押下し「 4) Asia」を選択します。
$ tzselect
Please identify a location so that time zone rules can be set correctly.
Please select a continent, ocean, "coord", or "TZ".
1) Africa
2) Americas
3) Antarctica
4) Asia
5) Atlantic Ocean
6) Australia
7) Europe
8) Indian Ocean
9) Pacific Ocean
10) coord - I want to use geographical coordinates.
11) TZ - I want to specify the timezone using the Posix TZ format.
#? 4
次に国を選択する画面が表示されるので、23を入力した後にEnterキーを押下し「23) Japan 」を選択します。
Please select a country whose clocks agree with yours.
1) Afghanistan 20) Iran 39) Palestine
2) Antarctica 21) Iraq 40) Philippines
3) Armenia 22) Israel 41) Qatar
4) Azerbaijan 23) Japan 42) Réunion
5) Bahrain 24) Jordan 43) Russia
6) Bangladesh 25) Kazakhstan 44) Saudi Arabia
7) Bhutan 26) Korea (North) 45) Seychelles
8) Brunei 27) Korea (South) 46) Singapore
9) Cambodia 28) Kuwait 47) Sri Lanka
10) China 29) Kyrgyzstan 48) Syria
11) Christmas Island 30) Laos 49) Taiwan
12) Cocos (Keeling) Islands 31) Lebanon 50) Tajikistan
13) Cyprus 32) Macau 51) Thailand
14) East Timor 33) Malaysia 52) Turkmenistan
15) French S. Terr. 34) Mongolia 53) United Arab Emirates
16) Georgia 35) Myanmar (Burma) 54) Uzbekistan
17) Hong Kong 36) Nepal 55) Vietnam
18) India 37) Oman 56) Yemen
19) Indonesia 38) Pakistan
#? 23
タイムゾーン名が「TZ=」の部分に表示されます。
今回の場合Asia/Tokyoと表示されていて、これがタイムゾーンになります。
タイムゾーンの情報がわかったので、1を入力した後にEnterキーを押下して「1) Yes」を選択します。
The following information has been given: Japan Therefore TZ='Asia/Tokyo' will be used. Selected time is now: Thu Sep 21 16:35:48 JST 2023. Universal Time is now: Thu Sep 21 07:35:48 UTC 2023. Is the above information OK? 1) Yes 2) No #? 1
最後に環境変数であるTZにタイムゾーンを設定する方法が表示されます。
You can make this change permanent for yourself by appending the line TZ='Asia/Tokyo'; export TZ to the file '.profile' in your home directory; then log out and log in again. Here is that TZ value again, this time on standard output so that you can use the /usr/bin/tzselect command in shell scripts: Asia/Tokyo
コメント