Linux – Ubuntu でタイムゾーンを日本に設定する方法

目次

概要

この記事では、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

コメント

コメントする

目次