Categories: linux

Linuxのdateコマンドで現在の日付と時刻を表示する方法

Linuxを使っていると、ターミナル上で「現在の日付や時刻を確認したい」と思うことがあります。そんなときに便利なのが、dateコマンドです。
dateコマンドを使えば、シンプルに現在の日時を確認するだけでなく、自分好みにフォーマットを変更したり、未来や過去の日付を表示することも可能です。
この記事では、dateコマンドの基本的な使い方から、応用的な使い方までを初心者にもわかりやすく解説します。Linux学習中の方や、日付管理をシェルスクリプトなどで扱いたい方は必見です。


dateコマンドとは?

dateコマンドは、LinuxやUnix系OSで現在の「日付と時刻」を表示・設定するための標準的なコマンドです。
単に現在の時刻を知るだけでなく、時刻の形式をカスタマイズしたり、スクリプトの中で使うことで、ログ出力やファイル名の自動生成などに役立ちます。

例えば、ターミナルで以下のように打ち込むと:

$ date

以下のような出力が得られます:

Sat Apr  6 14:30:15 JST 2025

この出力は、英語表記で曜日・月・日・時刻・タイムゾーン・年が含まれています。


基本的な使い方

現在の日付と時刻を表示する

最もシンプルな使い方は、dateコマンドをそのまま実行するだけです。

$ date

これにより、現在のシステム時刻が出力されます。システムクロックがずれている場合は、表示もずれてしまうので注意が必要です。

日本語で表示する(ロケールの変更)

環境によっては、出力が英語になっていることがあります。日本語で表示したい場合は、LANG変数を設定してから実行します。

$ LANG=ja_JP.UTF-8 date

例:

2025年 04月 06日 日曜日 14時35分10秒 JST

日本語の曜日や月を確認したいときには便利です。


日付・時刻のフォーマットを指定する

+オプションを使ったカスタム表示

dateコマンドでは、+オプションを使うことで、出力形式を自由にカスタマイズできます。

例:年月日だけを表示したい場合

$ date "+%Y-%m-%d"

出力:

2025-04-06

例:時刻だけを表示したい場合

$ date "+%H:%M:%S"

出力:

14:36:22

よく使うフォーマット指定子

指定子意味
%Y年(4桁)2025
%m月(2桁)04
%d日(2桁)06
%H時(00-23)14
%M分(00-59)36
%S秒(00-59)22
%A曜日(英語)Sunday
%a曜日(短縮)Sun

これらを組み合わせて、ログ用のタイムスタンプやファイル名に応用することもできます。


過去や未来の日付を表示する

dateコマンドでは、-dオプションを使って、任意の日時を指定して表示できます。

1日前の日付を表示

$ date -d "1 day ago"

出力:

Fri Apr  5 14:37:10 JST 2025

3日後の日付を表示

$ date -d "3 days"

出力:

Tue Apr  9 14:37:10 JST 2025

特定の日時を指定

$ date -d "2022-12-25"

出力:

Sun Dec 25 00:00:00 JST 2022

これは、スクリプトなどで指定の日付の処理をしたいときに便利です。


dateコマンドをファイル名やログに応用する

日付や時刻をファイル名に付けて保存することで、ログの管理がしやすくなります。

ファイル名に日付を追加する例

$ touch "backup_$(date +%Y%m%d).txt"

これにより、たとえば backup_20250406.txt というファイルが作成されます。

ログファイルにタイムスタンプ付きで書き込む

$ echo "$(date '+%Y-%m-%d %H:%M:%S') バックアップ開始" >> log.txt

ログファイルの中身:

2025-04-06 14:40:10 バックアップ開始

このように、スクリプトの中で使えば、何がいつ行われたかを記録するのに非常に役立ちます。


タイムゾーンの指定

デフォルトではシステムのタイムゾーンが使われますが、特定のタイムゾーンで日時を表示したい場合には、TZ変数を使います。

例:UTCで表示

$ TZ=UTC date

出力:

Sat Apr  6 05:41:00 UTC 2025

この方法は、ログをUTCで統一したい場合や、海外のサーバーと時刻を合わせたい場合に便利です。


時刻の設定(管理者権限が必要)

dateコマンドは、日時の「表示」だけでなく「設定」も可能です(ただしroot権限が必要)。

システムの時刻を変更する例

$ sudo date -s "2025-04-06 12:00:00"

このコマンドで、システムの時刻を手動で変更できます。ただし、ほとんどのシステムではNTP(ネットワーク時刻プロトコル)で時刻を自動同期しているため、通常は変更する必要はありません。


まとめ

dateコマンドは一見シンプルに見えますが、実はとても柔軟で多機能なコマンドです。

  • 現在の日時の確認
  • フォーマット指定での表示
  • 過去や未来の日付の表示
  • スクリプト内での活用
  • タイムゾーンの変更
  • 管理者による時刻設定

これらをマスターすれば、日付や時刻に関する操作を自在に扱えるようになります。ログの管理や自動バックアップ、スクリプトの作成など、日常のLinux操作がさらに快適になります。

ぜひ日頃からdateコマンドを使って、操作に慣れていきましょう!

upandup

Web制作の記事を中心に、暮らし、ビジネスに役立つ情報を発信します。 アフィリエイトにも参加しています。よろしくお願いいたします。