WindowsとLinuxでコマンドラインからタイムゾーンを設定する方法

Technical Tips

初めに
OCI (Oracle Cloud Infrastructure) で Compute Instance を作成すると、デフォルトのタイムゾーンは UTC(協定世界時) に設定されています。日本の環境ではJST(日本標準時)を利用するケースが多く、アプリケーションのログ時刻やシステム時刻をJSTで統一したい場合があります。

本記事では、WindowsとLinuxの両環境において、コマンドラインから簡単にタイムゾーンをJSTに変更する方法を解説します。クラウド環境でもオンプレミス環境でも適用可能な手順をご紹介します。

検証済OS
Windows 10, 11
Windows Server 2019,2022
Oracle Linux 7,8,9
Ubuntu 22

Windowsの場合

コマンドプロンプトでの設定

タイムゾーンの確認には管理者権限は不要ですが、変更するには管理者権限が必要です。

現在のタイムゾーンを確認:tzutil /g
すべてのタイムゾーンをリスト:tzutil /l

C:\Windows\system32> tzutil /g
UTC
C:\Windows\system32> tzutil /l
......

日本標準時(JST)を設定:tzutil /s "Tokyo Standard Time"

C:\Windows\system32>tzutil /s "Tokyo Standard Time"
C:\Windows\system32>tzutil /g
Tokyo Standard Time
C:\Windows\system32>

PowerShellでの設定

現在のタイムゾーンを確認:Get-TimeZone

PS C:\Windows\system32> Get-TimeZone

Id : UTC
DisplayName : (UTC) Coordinated Universal Time
StandardName : Coordinated Universal Time
DaylightName : Coordinated Universal Time
BaseUtcOffset : 00:00:00
SupportsDaylightSavingTime : False

すべてのタイムゾーンをリスト:

Get-TimeZone -ListAvailable

日本標準時(JST)を設定:

Set-TimeZone -Id "Tokyo Standard Time"

Linuxの場合

現在のタイムゾーンを確認:timedatectl
OCI Computeインスタンスを新規作成すると、デフォルトのタイムゾーンはUTCです。

[opc@linux8 ~]$ timedatectl
Local time: Thu 2022-07-28 03:09:35 UTC
Universal time: Thu 2022-07-28 03:09:35 UTC
RTC time: Thu 2022-07-28 03:09:36
Time zone: UTC (UTC, +0000)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
[opc@linux8 ~]$

日本のタイムゾーンをリスト:timedatectl list-timezones | grep Tokyo

[opc@linux8 ~]$ timedatectl list-timezones | grep Tokyo
Asia/Tokyo
[opc@linux8 ~]$

日本標準時(JST)を設定:sudo timedatectl set-timezone Asia/Tokyo

[opc@linux8 ~]$ sudo timedatectl set-timezone Asia/Tokyo
[opc@linux8 ~]$ timedatectl | grep zone
Time zone: Asia/Tokyo (JST, +0900)
[opc@linux8 ~]$

※、タイムゾーンを設定するために、root権限が必要です。

付録 - 初期化スクリプト

OCI(オラクルクラウド)上でVMを作成する際に、次のコマンドをcloud-initスクリプトに追加すると、インスタンスの起動後にタイムゾーンが自動的に設定されます。

日本標準時(JST)を設定する例:

Windows Server

#ps1_sysnative
Set-TimeZone -Id "Tokyo Standard Time"

Oracle Linux, Ubuntu

#!/bin/bash
timedatectl set-timezone Asia/Tokyo

以上

タイトルとURLをコピーしました