このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
【Linux】日時の表示: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
コマンドを効果的に活用してください。