このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

日時の表示:dateコマンド

date コマンドの概要

 date コマンドは、現在の日時を表示したり、指定したフォーマットで日時を表示したりするために使用されます。システムの日時を設定することもできますが、通常は管理者権限が必要です。このコマンドは、スクリプトや日付・時刻の管理に非常に便利です。

主なオプションと説明

オプション説明
+FORMAT指定したフォーマットで日付と時刻を表示します。フォーマットは + 記号の後に続けて指定します。
-d DATE指定した日時を解析して表示します。
-s DATE指定した日時をシステム日時として設定します(管理者権限が必要)。
-u協定世界時(UTC)で日時を表示します。
主なオプションと説明

コマンドの使用例と解説

1.現在の日時をデフォルト形式で表示する。

・「date」コマンドを実行します。

このコマンドを実行すると、現在の日時がデフォルト形式で表示されます。例: Thu Jun 20 15:45:17 UTC 2024

user01@ubuntu-vm:~$ date
2024年  6月 22日 土曜日 12:35:18 JST
2.指定したフォーマットで日時を表示する。

・「date +"%Y-%m-%d %H:%M:%S"」コマンドを実行します。

このコマンドは、現在の日時を YYYY-MM-DD HH:MM:SS 形式で表示します。例: 2024-06-20 15:45:17

user01@ubuntu-vm:~$ date +"%Y-%m-%d %H:%M:%S"
2024-06-22 12:49:21
3.協定世界時(UTC)で日時を表示する。

・「date -u」コマンドを実行します。

このコマンドは、現在の日時を協定世界時(UTC)で表示します。例: Thu Jun 20 15:45:17 UTC 2024

user01@ubuntu-vm:~$ date -u
2024年  6月 22日 土曜日 03:51:07 UTC
4.過去または未来の日時を表示する。

以下のコマンドを実行します。

date -d "next Monday"」コマンド

date -d "1 day ago"」コマンド

 -d オプションを使用して特定の日付を指定できます。"next Monday" は次の月曜日の日付を表示し、"1 day ago" は1日前の日付を表示します。

user01@ubuntu-vm:~$ date -d "next Monday"
2024年  6月 24日 月曜日 00:00:00 JST
user01@ubuntu-vm:~$ date -d "1 day ago"
2024年  6月 21日 金曜日 12:53:15 JST
5.指定した日時を解析して表示する。

・「date -d "2024-12-31 23:59:59"」コマンドを実行します。

このコマンドは、指定した日時を解析して表示します。新年直前の日時を表示します。例: Tue Dec 31 23:59:59 UTC 2024

user01@ubuntu-vm:~$ date -d "2024-12-31 23:59:59"
2024年 12月 31日 火曜日 23:59:59 JST
6.システム日時を設定する(管理者権限が必要)。

・「sudo date -s "2024-12-31 23:59:59"」コマンドを実行します。

-sオプションを指定します。このオプションを使う場合は、管理者権限が必要となります。

 このコマンドは、システムの日時を指定した日時に設定します。sudo を使用することで管理者権限を取得し、日時の変更が可能になります。パスワードの入力が求められたらパスワードを入力します。

user01@ubuntu-vm:~$ sudo date -s "2024-12-31 23:59:59"
[sudo] user01 のパスワード: 
2024年 12月 31日 火曜日 23:59:59 JST

 「日付と時刻」の設定で「自動日時設定」と「自動タイムゾーン設定」が行われている場合、一瞬だけ指定した日時となり、すぐに現在のタイムーゾーンで指定した日時に戻ります。

まとめ

 date コマンドは、現在の日時の表示や特定のフォーマットで日時を表示するための強力なツールです。また、過去や未来の日時を表示することもでき、システムの日時を設定することも可能です。上記の使用例と説明を参考にして、date コマンドを効果的に活用してください。