カテゴリ: Linux 更新日: 2026/07/21

dateコマンドの使い方を完全ガイド!Linuxで日付や時刻を表示・設定する基本を解説

Linuxのdateコマンドとは?日付と時刻を表示・変更する方法
Linuxのdateコマンドとは?日付と時刻を表示・変更する方法

先生と生徒の会話形式で理解しよう

生徒

「Linux(リナックス)を使っているときに、今の正確な時間を確認したいのですが、どうすればいいですか?」

先生

「それなら date(デイト)コマンドを使えば一発ですよ。日付や時刻を表示するだけでなく、表示形式を自由に変えることもできるんです。」

生徒

「コマンド一つでカレンダーのような役割もしてくれるんですね!時刻の設定とかもできるんでしょうか?」

先生

「はい、管理者権限があればシステム時計の変更も可能です。初心者の方向けに、まずは基本の表示方法から丁寧に解説していきますね。」

Linuxを初めて学ぶ人や、 OS・プロセス・メモリ管理・仮想マシン・コンテナの仕組みを図解で理解したい人におすすめの定番書籍です。

試して理解 Linuxのしくみを見る

※ Amazonアソシエイト広告リンク

1. dateコマンドとは?

1. dateコマンドとは?
1. dateコマンドとは?

date(デイト)コマンドは、Linux(リナックス)システムにおいて現在の「日付」や「時刻」を表示・操作するためのコマンドです。読み方はそのままで、英語で日付を意味する「Date」からきています。

Windows(ウィンドウズ)やMac(マック)であれば、画面の端に常に時計が表示されていますが、文字入力だけで操作するCUI(シーユーアイ:キャラクタユーザーインターフェース)環境では、このコマンドを打ち込んで時間を確認します。

また、単に時間を見るだけでなく、シェルスクリプト(命令をまとめたファイル)の中で「今日の日付の名前がついたファイルを作る」といった自動化の作業でも非常によく使われる、非常に重要なコマンドの一つです。

2. 現在の日付と時刻を表示する基本操作

2. 現在の日付と時刻を表示する基本操作
2. 現在の日付と時刻を表示する基本操作

まずは最もシンプルな使い方を見てみましょう。ターミナル(黒い画面)で date と入力してエンターキーを押すだけです。読み方は、date(デイト)です。

実行すると、現在の曜日、月、日、時刻、タイムゾーン、西暦が表示されます。Linux(リナックス)の標準的な設定では、英語表記や独特の順番で表示されることが多いですが、まずはこれが出れば成功です。


date
2026年  3月 23日 月曜日 15:52:04 JST

上記の実行結果にある「JST(ジェイエスティー)」は、読み方は日本標準時(ニホンヒョウジュンジ)といい、日本で採用されている標準的な時刻であることを示しています。サーバーの設定によっては「UTC(ユーティーシー)」、読み方は協定世界時(キョウテイセカイジ)と表示されることもあります。

3. 表示形式をカスタマイズする方法(フォーマット指定)

3. 表示形式をカスタマイズする方法(フォーマット指定)
3. 表示形式をカスタマイズする方法(フォーマット指定)

date コマンドの便利な点は、自分の好きな形式で日付を表示できることです。これを「フォーマット指定」と呼びます。例えば「2026/03/23」のように、スラッシュ区切りで表示したい場合に役立ちます。

書き方は、コマンドの後に「+(プラス)」記号をつけ、その後に特定の記号を組み合わせます。代表的な記号には以下のものがあります。

  • %Y:西暦(4桁)
  • %m:月(01-12)
  • %d:日(01-31)
  • %H:時(00-23)
  • %M:分(00-59)
  • %S:秒(00-59)

実際に、よく使われる「年月日」の形式で表示してみましょう。


date "+%Y/%m/%d %H:%M:%S"
2026/03/23 15:55:10

このように、ダブルクォーテーションで囲むことで、スペースや記号を含めた自由な形式で出力できます。これはログファイル(動作記録)に日付を記録するときなどに多用されます。

4. 特定の日付(過去や未来)を表示するオプション

4. 特定の日付(過去や未来)を表示するオプション
4. 特定の日付(過去や未来)を表示するオプション

date コマンドは「今」だけでなく、「明日」や「1週間前」の日付を計算して表示することも可能です。これには -d オプション(読み方はオプション)を使用します。

例えば、システムの保守作業などで「3日後の日付を知りたい」という時に、カレンダーを見なくてもコマンド一つで算出できます。人間が理解しやすい英語のフレーズで指定できるのが特徴です。


date -d "1 day ago" "+%Y-%m-%d"
2026-03-22

上記の例では「1 day ago(1日前)」を指定しています。他にも "next Monday(次の月曜日)" や "2 months later(2ヶ月後)" といった指定も可能です。非常に賢い機能ですね。

5. システムの時刻を変更する方法(ルート権限)

5. システムの時刻を変更する方法(ルート権限)
5. システムの時刻を変更する方法(ルート権限)

普段はあまり行いませんが、サーバーの時間がズレてしまった場合などに時刻を手動で設定することがあります。この操作はシステムの根本に関わるため、一般ユーザーではなく「root(ルート)」、読み方は特権管理者(トッケンカンリシャ)の権限が必要です。

時刻を設定するには -s オプションを使用します。間違えて設定すると、他のプログラムの動作に影響が出る可能性があるため、慎重に行う必要があります。


date -s "2026-03-23 16:00:00"
2026年  3月 23日 月曜日 16:00:00 JST

現在では ntp(エヌティーピー:ネットワークタイムプロトコル)という仕組みで自動的に時刻を合わせるのが一般的ですが、インターネットに繋がっていない環境などでは、このように手動で設定することがあります。

6. ハードウェアクロックとシステムクロックの違い

6. ハードウェアクロックとシステムクロックの違い
6. ハードウェアクロックとシステムクロックの違い

Linux(リナックス)には、実は2つの時計が存在します。一つはOS(オーエス:オペレーティングシステム)が管理する「システムクロック」、もう一つはパソコンの基板(マザーボード)上の電池で動いている「ハードウェアクロック」です。

date コマンドが表示・設定するのは「システムクロック」の方です。パソコンの電源を切っても時間が進み続けるのは「ハードウェアクロック」のおかげです。OSが起動する際、ハードウェアクロックの時間を読み込んでシステムクロックを合わせます。

もし、date で時間を直しても再起動すると元に戻ってしまう場合は、ハードウェアクロック自体がズレているか、電池が切れている可能性があります。これらを同期させるには hwclock(エイチダブリュークロック)という別のコマンドを使います。

7. シェルスクリプトでの実用的な活用例

7. シェルスクリプトでの実用的な活用例
7. シェルスクリプトでの実用的な活用例

プログラミング(シェルスクリプト)の世界では、date コマンドは「変数(ヘンスウ)」、読み方はデータを入れる箱に代入して使われることが多いです。

バックアップファイルを作る際に、ファイル名に日付を入れることで、いつ保存したファイルなのかを一目で判断できるようにします。初心者の方でも、以下の1行を書くだけで便利なツールが作れます。


FILENAME="backup_$(date +%Y%m%d).tar.gz"
echo $FILENAME
backup_20260323.tar.gz

$(コマンド) という書き方をすることで、コマンドの実行結果を文字として扱うことができます。このように date コマンドを使いこなせると、Linux(リナックス)での作業効率が格段にアップします。

8. タイムゾーンの確認と表示

8. タイムゾーンの確認と表示
8. タイムゾーンの確認と表示

世界中の人とやり取りするサーバーを管理する場合、今表示されている時間が「どこの国の時間か」を知ることは非常に重要です。これをタイムゾーン、読み方は時間帯(ジカンタイ)といいます。

date コマンドをそのまま打てば最後に「JST」などの略称が出ますが、より詳しくタイムゾーンの設定を確認したい場合もあります。Linux(リナックス)では、環境変数(カンキョウヘンスウ)の値を一時的に変えることで、別の国の時刻を表示させることもできます。


TZ=America/New_York date
2026年  3月 23日 月曜日 02:58:20 EDT

上記のように TZ(ティーゼット)という変数を指定して実行すると、ニューヨークの現在時刻を表示できます。海外のサーバーを操作する際には、この知識が役立ちます。

LPICレベル1の合格を目指している人や、 Linuxコマンド・シェル・ネットワーク・セキュリティの試験対策を効率よく進めたい人におすすめの定番問題集です。

Linux教科書 LPICレベル1 スピードマスター問題集を見る

※ Amazonアソシエイト広告リンク

まとめ

まとめ
まとめ

今回はLinuxのdateコマンドについて基本から応用まで幅広く理解しました。dateコマンドは日付や時刻を表示するだけでなくフォーマット指定や過去未来の日時計算さらにシェルスクリプトでの自動化など様々な用途に活用できる非常に重要なコマンドです。Linux初心者にとっては単なる時間確認のためのコマンドに見えるかもしれませんが実際にはシステム運用や開発現場でも頻繁に利用される基礎中の基礎といえる存在です。

特に重要なポイントはコマンド一つで現在の日時を取得できる点とフォーマット指定によって自由に表示形式を変更できる点です。これによりログ記録やファイル管理バックアップ処理など様々な場面で柔軟に対応することが可能になります。またdateコマンドはシェルスクリプトとの相性が非常に良く変数と組み合わせることで処理の自動化を簡単に実現できます。初心者の方でもこの使い方を覚えることで日々の作業効率を大きく向上させることができます。

さらにdateコマンドはシステムクロックと密接に関係しており時刻設定やタイムゾーンの理解にもつながります。Linuxではシステムクロックとハードウェアクロックという二つの時計が存在しておりその違いを理解しておくことがトラブル対応に役立ちます。時刻がずれている場合にはdateコマンドだけでなく関連する仕組みも確認する必要があります。このような知識はサーバー管理やインフラ運用において非常に重要です。

またdateコマンドは過去や未来の日付を簡単に計算できる点も大きな特徴です。これによりスケジュール管理やログ分析など様々な場面で活用できます。例えば何日前のログを確認する場合や一定期間後の処理を行う場合などに非常に便利です。Linuxのコマンドは単体でも強力ですが組み合わせることでさらに強力になります。dateコマンドもその代表例の一つです。

実務ではバックアップファイルの命名やログファイルの管理でdateコマンドが頻繁に使われます。日付を含めることでファイルの管理がしやすくなりいつ作成されたデータなのかを一目で判断できます。このような小さな工夫がシステム全体の運用効率を大きく左右します。初心者のうちから意識して使うことで実践的なスキルが身につきます。

Linuxのコマンド操作は最初は難しく感じるかもしれませんが一つ一つの機能を理解していくことで確実に力がついていきます。dateコマンドはその中でも特に利用頻度が高く覚えておいて損はありません。今回学んだ内容をもとに実際にコマンドを入力して動作を確認しながら理解を深めていくことが大切です。

実践コマンド例


date "+%Y%m%d"
20260323

date -d "7 days ago"
2026年  3月 16日 月曜日

echo $(date +%H:%M)
15:52
先生と生徒の振り返り会話

生徒

「dateコマンドは単に時間を見るだけじゃなくて色々なことに使えるんですね」

先生

「はい特にフォーマット指定や変数との組み合わせが重要です」

生徒

「ファイル名に日付を入れるのも便利だと思いました」

先生

「実務でもよく使われるテクニックです」

生徒

「システムの時計の仕組みも理解できました」

先生

「その理解がトラブル対応にも役立ちます」

関連記事:
カテゴリの一覧へ
新着記事
New1
基本情報技術者試験
基本情報技術者試験対策 ディスプレイの仕組みと種類を完全解説 画面表示装置を初心者向けにわかりやすく解説
新規投稿
New2
情報セキュリティマネジメント試験
真正性(シンセイセイ)とは?情報セキュリティの基礎を初心者向けにやさしく解説
更新記事
New3
情報セキュリティマネジメント試験
機密性(キミツセイ)とは?情報セキュリティの基礎をやさしく解説
更新記事
New4
基本情報技術者試験
基本情報技術者試験対策 RFID Radio Frequency IDentificationの仕組みと特徴を完全解説 非接触識別技術を初心者向けにわかりやすく解説
新規投稿
人気記事
No.1
Java&Spring記事人気No1
基本情報技術者試験
イーサネット(Ethernet)とは?初心者にもわかるLANの基本技術をやさしく解説
No.2
Java&Spring記事人気No2
基本情報技術者試験
CPU
341
CPUとは何かを完全解説!初心者でもわかるコンピュータの頭脳の仕組み
No.3
Java&Spring記事人気No3
基本情報技術者試験
DHCP
322
DHCPとは?初心者でもわかるIPアドレス自動割り当ての仕組み
No.4
Java&Spring記事人気No4
基本情報技術者試験
NIC
277
NICとは何か?初心者にもわかるネットワークインターフェースカードの基本
No.5
Java&Spring記事人気No5
基本情報技術者試験
NTP
233
NTPとは?初心者でもわかる時刻同期の仕組みとネットワーク時刻プロトコルの基本
No.6
Java&Spring記事人気No6
基本情報技術者試験
CRC(巡回冗長検査)とは?初心者でもわかる誤り検出の仕組みをやさしく解説
No.7
Java&Spring記事人気No7
基本情報技術者試験
16進数とは?初心者にもわかる意味・読み方・変換方法をやさしく解説!
No.8
Java&Spring記事人気No8
基本情報技術者試験
パケットとは?初心者にもわかりやすくネットワークの仕組みをやさしく解説!