Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

3.2. date コマンドの使用

date ユーティリティーはすべての Linux システムで利用可能で、システムの現在日時の表示および設定を可能にします。システムクロックに関する詳細情報をカスタマイズされた形式で表示するために、スクリプト内で使用されることがよくあります。

タイムゾーンの変更、またはシステムクロックとリモートサーバーの自動同期を有効にする方法は timedatectl コマンドの使用」 を参照してください。

3.2.1. システムの現在日時の表示

現在の日時を表示するには、date コマンドをオプションを付けずに実行します。

date

このコマンドを実行すると、曜日、日付、ローカルタイム、タイムゾーンの省略形、年が表示されます。

date コマンドは、デフォルトではローカルタイムを表示します。UTC の時間を表示するには、コマンドラインオプション --utc または -u を指定してコマンドを実行します。

date --utc

また、+"format" オプションをコマンドラインに指定することで、表示される情報のフォーマットをカスタマイズすることもできます。

date +"format"

例3.6「システムの現在日時の表示」 を参考にして、フォーマットを、サポートされる 1 つまたは複数のコントロールシーケンスに置き換えます。よく使用されるフォーマットオプションのリストは 表3.1「よく使われるコントロールシーケンス」 を参照してください。これらのオプションの完全なリストは、man ページの date(1) を参照してください。

表3.1 よく使われるコントロールシーケンス

コントロールシーケンス詳細

%H

HH フォーマットでの時間 (例: 17)。

%M

MM フォーマットでの分 (例: 30)。

%S

SS フォーマットでの秒 (例: 24)。

%d

DD フォーマットでの日 (例: 16)。

%m

MM フォーマットでの月 (例: 09)。

%Y

YYYY フォーマットでの年 (例: 2016)。

%Z

タイムゾーンの省略形 (例: CEST)。

%F

非省略形の YYYY-MM-DD フォーマットでの日付 (例: 2016-09-16)。このオプションは、%Y-%m-%d と同等です。

%T

非省略形の HH:MM:SS フォーマットでの時間 (例: 17:30:24)。このオプションは、%H:%M:%S と同等です。

例3.6 システムの現在日時の表示

現在日とローカル時間を表示するには、シェルプロンプトで以下を入力します。

~]$ date
Mon Sep 16 17:30:24 CEST 2016

UTC で現在日時を表示するには、シェルプロンプトで以下を入力します。

~]$ date --utc
Mon Sep 16 15:30:34 UTC 2016

date コマンドの出力をカスタマイズするには、以下を入力します。

~]$ date +"%Y-%m-%d %H:%M"
2016-09-16 17:30

3.2.2. システムの現在時刻の変更

システムの現在時刻を変更するには、rootdate コマンドに --set オプションまたは -s オプションを指定して実行します。

date --set HH:MM:SS

HH は時間、MM は分、SS は秒 (すべて 2 桁) の数字に置き換えます。

date コマンドは、デフォルトでは、システムクロックをローカルタイムに設定します。システムクロックを UTC で設定するには、コマンドラインオプション --utc または -u を指定してコマンドを実行します。

date --set HH:MM:SS --utc

例3.7 システムの現在時刻の変更

システムの現在時刻を午後 11 時 26 分に変更するには、root で以下のコマンドを実行します。

~]# date --set 23:26:00

3.2.3. システムの現在日の変更

現在の日付を変更するには、root--set または -s を指定して date コマンドを実行します。

date --set YYYY-MM-DD

YYYY は 4 桁の年に、MMDD は 2 桁の月と日に置き換えます。

時間を指定せずに日付を変更すると、時間は 00:00:00 に設定されることに注意してください。

例3.8 システムの現在日の変更

システムの現在日を 2017 年 6 月 2 日に変更し、現在時刻は変更しない (午後 11:26) 場合は、root で以下のコマンドを実行します。

~]# date --set "2017-06-02 23:26:00"