概要
この記事では、Ubuntu や Debian を対象に、タイムゾーンを日本時間に設定する方法について説明します。
まとめ
先に必要なコマンドを記載し、次節以降で内容について解説します。
sudo apt install -y tzdata
sudo timedatectl set-timezone Asia/Tokyo
協定世界時 (UTC) と グリニッジ標準時 (GMT)
協定世界時 (Coordinated Universal Time, UTC) とグリニッジ標準時 GMT (Greenwich Mean Time, GMT) は、どちらも世界中の時間を標準化するために使用される基準時刻ですが、いくつか違いがあります。
UTC (Coordinated Universal Time)
- 定義: 原子時計を基にした標準時間であり、地球の回転に基づく時間を補正するために閏秒を挿入することがあります。
- 正確性: 非常に正確で、原子時計を基にしており、1 秒の誤差もありません。
- 使用: 世界中で標準時間として広く使用されています。国際的な時間の基準として、タイムゾーンの基準にもなっています。
GMT (Greenwich Mean Time)
- 定義: イギリスのグリニッジ天文台で測定された平均太陽時を基にしています。
- 正確性: 地球の回転に基づいているため、UTC ほど正確ではありません。
- 使用: 歴史的に使われてきた標準時間であり、現在もいくつかの地域で公式の標準時間として使用されていますが、科学的・技術的な用途では UTC が優先されます。
タイムゾーンを確認する
date
コマンドで確認する
Linux におけるタイムゾーンの設定は、/etc/localtime
ファイルに記載されています。現在のタイムゾーンを確認するには、date
コマンドを使用します。
$ date
2024年 12月 26日 木曜日 08:57:34 UTC
以下の例では、UTC タイムゾーンが設定されています。
$ cat /etc/localtime
TZif2UTCTZif2UTC
UTC0
timedatectl
コマンドで確認する
timedatectl
コマンドを使用して、現在のタイムゾーンを確認することもできます。このコマンドは、システムのタイムゾーン、ローカルタイム、UTC、NTP のステータスなどの詳細を表示します。
$ timedatectl
Local time: 木 2025-01-30 19:02:55 JST
Universal time: 木 2025-01-30 10:02:55 UTC
RTC time: 木 2025-01-30 10:02:55
Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
上記の出力例では、タイムゾーンが UTC に設定されていることが分かります。
timedatectl
コマンドを使用して、タイムゾーンだけを確認したい場合は、以下のように grep
コマンドと組み合わせて使用できます。
$ timedatectl | grep "Time zone"
Time zone: Asia/Tokyo (JST, +0900)
設定可能なタイムゾーンを確認する
システムで設定可能なタイムゾーンを確認するには、以下のコマンドを実行します。
timedatectl list-timezones
タイムゾーンを日本時間に設定する
1. タイムゾーンデータをインストールする
タイムゾーンのデータを提供するパッケージ tzdata
をインストールします。
sudo apt install -y tzdata
タイムゾーンのデータは、/usr/share/zoneinfo/
ディレクトリに格納されます。
2. タイムゾーンを設定する
シンボリックリンクで設定する場合
システムで使用するタイムゾーンのデータを /etc/localtime
に記載します。
直接編集する代わりに、/usr/share/zoneinfo/
以下のタイムゾーンデータへのシンボリックリンクを貼ります。
例えば、日本時間に設定する場合、/usr/share/zoneinfo/Asia/Tokyo
に対して、シンボリックリンクを貼ります。
sudo ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
date
コマンドを実行すると、日本時間に設定されていることが確認できます。
$ date
Thu Dec 26 18:06:22 JST 2024
timedatectl
コマンドを使用する場合
timedatectl
コマンドを使用してタイムゾーンを設定することもできます。以下のコマンドを実行します。
sudo timedatectl set-timezone Asia/Tokyo
date
コマンドを実行すると、日本時間に設定されていることが確認できます。
$ date
Thu Dec 26 18:06:22 JST 2024
コメント